Centos7搭建SkyWalking監(jiān)控單機(jī)及集群服務(wù)器

Skywalking最新發(fā)布版5.0.0 beta2的單機(jī)及集群安裝說(shuō)明

1. 單機(jī)部署

  1. 單機(jī)部署組件需求:
    1. H2或ElasticSearch單機(jī)俄烁,以下僅示例ElasticSearch安裝及配置,便于拓展集群部署
  2. 官方說(shuō)明:
    1. 單機(jī)模式默認(rèn)使用本地H2數(shù)據(jù)庫(kù)辜妓,不支持集群部署。主要用于:預(yù)覽桨踪、功能測(cè)試掠归、演示和低壓力系統(tǒng)。
    2. 如果使用單機(jī)collector用于非演示環(huán)境卢鹦,你可選擇使用Elasticsearch作為存儲(chǔ)實(shí)現(xiàn)臀脏。
  3. 版本需求:
    ElasticSearch: 5.x(建議使用5.x最高版本5.6.10)
  4. 第三方軟件需求:
    JDK8+
  5. 被監(jiān)控軟件需求:
    JKD6+

1.1 ElasticSearch安裝說(shuō)明

#安裝ElasticSearch索引數(shù)據(jù)庫(kù),提供數(shù)據(jù)存儲(chǔ)及快速查詢
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz

tar -xf elasticsearch-5.6.10.tar.gz
mv elasticsearch-5.6.10 elasticsearch

#創(chuàng)建Skywalking數(shù)據(jù)及日志存儲(chǔ)目錄
cd elasticsearch/
mkdir data
mkdir log

cd config/

#配置ElasticSearch單機(jī)節(jié)點(diǎn)信息冀自,date揉稚、logs目錄使用絕對(duì)路徑
cat >> elasticsearch.yml << EOF
cluster.name: CollectorDBCluster
node.name: node-1
path.data: /home/mon/apps/elasticsearch/data
path.logs: /home/mon/apps/elasticsearch/logs
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000
http.port: 9200 
EOF

#查看日志
tail -100f /home/mon/apps/elasticsearch/logs/CollectorDBCluster.log

#創(chuàng)建啟停腳本,添加到系統(tǒng)服務(wù)
cd bin/
cat >> elasticsearch.sh << EOF
cd "$(dirname "$0")" || exit 1

ES_HOME="$(pwd)"
EXEC_PATH=$ES_HOME
EXEC=elasticsearch
DAEMON=$EXEC_PATH/$EXEC
PID_FILE=$ES_HOME/elasticsearch.pid
ServiceName='Elasticsearch'

#操作
ACTION=$1

echoRed() { echo $'\e[0;31m'"$1"$'\e[0m'; }
echoGreen() { echo $'\e[0;32m'"$1"$'\e[0m'; }
echoYellow() { echo $'\e[0;33m'"$1"$'\e[0m'; }

usage() {
    echo $'\n\n\n'
    echoRed "Usage: ${0} support command {start|stop|restart|status}"
    echo $'\n\n\n'
    exit 1
}

psCheck() {
    echo "-----------------All instances in this machine--------------------"
    echo "$(ps -ef | grep ${ServiceName} | grep -E -v "grep|start|stop|status|restart")"
}

await() {
    end=$(date +%s)
    let "end+=10"
    while
        [[ $now -le $end ]]
    do
        now=$(date +%s)
        sleep 1
    done
}

#1.檢查操作參數(shù)
[ $# -gt 0 ] || usage

if [ ! -x $DAEMON ] ; then
       echo "ERROR: $DAEMON not found"
       exit 1
fi


#根據(jù)PID檢查是否在運(yùn)行
isRunningPid() {
    ps -p "$1" &>/dev/null
}

#根據(jù)PID_FILE檢查是否在運(yùn)行
isRunning() {
    [[ -f "$PID_FILE" ]] || return 1
    local pid=$(cat "$PID_FILE")
    ps -p "$pid" &>/dev/null
    return
}

start() {
    echo "--------------Starting $ServiceName:"
    echo $'\n\n\n'

    #檢查已經(jīng)運(yùn)行
    if isRunning "$PID_FILE"; then
        echoYellow "Result: Running, no need to start"
        echo $'\n\n\n'
        exit 0
    fi

    echo "Boot Command: nohup $DAEMON"
    echo $'\n\n\n'

    nohup $DAEMON >/dev/null 2>&1 &
    #$DAEMON -d

    disown $!
    echo $! >"$PID_FILE"

    #等5秒
    await

    TIMEOUT=100
    while (! isRunning "$APP_PID"); do
        if ((TIMEOUT-- == 0)); then
            echoRed "Result: Start timeout"
            echo $'\n\n\n'
            exit 1
        fi
        sleep 1
    done

    echoGreen "Result: Start success,Running (PID: $(<$PID_FILE))"
    echo $'\n\n\n'

    psCheck
}

stop() {
    echo "--------------Stopping $ServiceName:"
    echo $'\n\n\n'
    if [ ! -f "$PID_FILE" ]; then
        echoYellow "Result: Not running"
        echo $'\n\n\n'
        psCheck
        return 0
    fi

    local pid=$(<${PID_FILE})

    if [ -z $pid ]; then
        #pid文件存在熬粗,但進(jìn)程卻不存在
        echoRed "Result: Not running (PID: $pid not found)"
        echo $'\n\n\n'
        psCheck
        rm -f "$PID_FILE"
        return 0
    fi

    kill "$pid" 2>/dev/null

    TIMEOUT=30
    while isRunning $PID_FILE; do
        if ((TIMEOUT-- == 0)); then
            kill -KILL "$PID" 2>/dev/null
        fi
        sleep 1
    done
    rm -f "$PID_FILE"
    echoGreen "Result: Stop success"
    echo $'\n\n\n'
}

status() {
    echo "--------------Status $ServiceName:"
    echo $'\n\n\n'
    [[ -f "$PID_FILE" ]] || {
        echoYellow "Result: Not running"
        echo $'\n\n\n'
        psCheck
        return 1
    }
    local pid=$(<$PID_FILE)

    if isRunningPid $pid; then
        echoGreen "Result: Running (PID: $pid )"
        echo $'\n\n\n'
        psCheck
        return 0
    else
        echoRed "Result: Not running (PID: $pid not found)"
        echo $'\n\n\n'
        psCheck
        return 1
    fi
}

case "$ACTION" in
start)
    start
    ;;

stop)
    stop
    ;;

restart)
    stop
    start
    ;;

status)
    status
    ;;
*)
    usage
    ;;
esac

#成功退出
exit 0
EOF

ln -s 'readlink -f /home/mon/apps/elasticsearch/bin/elasticsearch.sh' /usr/local/bin/elasticsearch

#直接后臺(tái)啟動(dòng)
./elasticsearch -d

#啟動(dòng)
service elasticsearch start && service elasticsearch status

#添加防火墻
firewall-cmd --add-port=9200/tcp --permanent ;\ 
firewall-cmd --add-port=9300/tcp --permanent ;\ 
firewall-cmd --reload

1.1.1 URL查詢

1.2 安裝Skywalking單機(jī)模式

#包括Collector收集器搀玖,Agent探針,WebUI響應(yīng)界面
wget http://www-eu.apache.org/dist/incubator/skywalking/5.0.0-beta2/apache-skywalking-apm-incubating-5.0.0-beta2.tar.gz

tar -xf apache-skywalking-apm-incubating-5.0.0-beta2.tar.gz

mv apache-skywalking-apm-incubating skywalking
cd skywalking/bin

#啟動(dòng)Collector驻呐、WebUI
./startup.sh

#在目標(biāo)應(yīng)用上啟用Agent探針
java -javaagent=/home/mon/apps/skywalking/agent/skywalking-agent.jar -jar order.jar
#添加啟動(dòng)參數(shù)灌诅,定義命名空間和項(xiàng)目編碼
java -javaagent=/home/mon/apps/skywalking/agent/skywalking-agent.jar -jar -Dskywalking.agent.namespace=order -Dskywalking.agent.application_code=order order.jar

1.2.1 SkyWalking監(jiān)控界面URL: http://10.20.30.123:8080

1.3 部署探針

  1. 拷貝skywalking-agent目錄到所需位置,探針包含整個(gè)目錄含末,請(qǐng)不要改變目錄結(jié)構(gòu)
  2. 增加JVM啟動(dòng)參數(shù)猜拾,-javaagent:/path/to/skywalking-agent/skywalking-agent.jar。參數(shù)值為skywalking-agent.jar的絕對(duì)路徑答渔。

新目錄結(jié)構(gòu)如下:

+-- skywalking-agent
    +-- activations
         apm-toolkit-log4j-1.x-activation.jar
         apm-toolkit-log4j-2.x-activation.jar
         apm-toolkit-logback-1.x-activation.jar
         ...
    +-- config
         agent.config  
    +-- plugins
         apm-dubbo-plugin.jar
         apm-feign-default-http-9.x.jar
         apm-httpClient-4.x-plugin.jar
         .....
    skywalking-agent.jar
  • /config/agent.config包含探針?biāo)枧渲霉卮形恼f(shuō)明如下。
# 當(dāng)前的應(yīng)用編碼,最終會(huì)顯示在webui上宋雏。
# 建議一個(gè)應(yīng)用的多個(gè)實(shí)例,使用有相同的application_code磨总。請(qǐng)使用英文
agent.application_code=Your_ApplicationName

# 每三秒采樣的Trace數(shù)量
# 默認(rèn)為負(fù)數(shù),代表在保證不超過(guò)內(nèi)存Buffer區(qū)的前提下蚪燕,采集所有的Trace
# agent.sample_n_per_3_secs=-1

# 設(shè)置需要忽略的請(qǐng)求地址
# 默認(rèn)配置如下
# agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg

# 探針調(diào)試開關(guān),如果設(shè)置為true馆纳,探針會(huì)將所有操作字節(jié)碼的類輸出到/debugging目錄下
# skywalking團(tuán)隊(duì)可能在調(diào)試,需要此文件
# agent.is_open_debugging_class = true

# 對(duì)應(yīng)Collector的config/application.yml配置文件中 agent_server/jetty/port 配置內(nèi)容
# 例如:
# 單節(jié)點(diǎn)配置:SERVERS="127.0.0.1:8080" 
# 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600" 
collector.servers=127.0.0.1:10800

# 日志文件名稱前綴
logging.file_name=skywalking-agent.log

# 日志文件最大大小
# 如果超過(guò)此大小鉴裹,則會(huì)生成新文件。
# 默認(rèn)為300M
logging.max_file_size=314572800

# 日志級(jí)別径荔,默認(rèn)為DEBUG。
logging.level=DEBUG
  • 啟動(dòng)被監(jiān)控應(yīng)用脆霎。

1.3.1 高級(jí)特性

  • 插件會(huì)被統(tǒng)一放置在plugins目錄中,新的插件睛蛛,也只需要在啟動(dòng)階段,放在目錄中玖院,就自動(dòng)生效。刪除則失效难菌。
  • 配置除了通過(guò)/config/agent.config文件外,可以通過(guò)環(huán)境變量和VM參數(shù)(-D)來(lái)進(jìn)行設(shè)置
    • 參數(shù)的key = skywalking. + agent.config文件中的key
    • 優(yōu)先級(jí):系統(tǒng)環(huán)境變量 > VM參數(shù)(-D) > /config/agent.config中的配置
  • Log默認(rèn)使用文件輸出郊酒,輸出到/logs目錄中

1.3.2 Tomcat配置探針FAQ

  • Linux Tomcat 7, Tomcat 8
    修改tomcat/bin/catalina.sh遇绞,在首行加入如下信息
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export CATALINA_OPTS
  • Windows Tomcat 7, Tomcat 8
    修改tomcat/bin/catalina.bat,在首行加入如下信息
set "CATALINA_OPTS=-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
  • JAR 部署
    修改啟動(dòng)命令添加啟動(dòng)參數(shù)-javaagent
 java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar

2. 集群部署

  1. 組件需求:
    1. Elasticsearch 5.x
    2. Zookeeper 3.4.10
  2. 其他需求同上單機(jī)部署

2.1 Elasticsearch集群部署

? 安裝參考上面的單機(jī)部署燎窘,以下僅演示配置及集群部署

#安裝ElasticSearch索引數(shù)據(jù)庫(kù)摹闽,提供數(shù)據(jù)存儲(chǔ)及快速查詢
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz

tar -xf elasticsearch-5.6.10.tar.gz
mv elasticsearch-5.6.10 elasticsearch

#創(chuàng)建Skywalking數(shù)據(jù)及日志存儲(chǔ)目錄
cd elasticsearch/
mkdir data
mkdir log

cd config/

#配置ElasticSearch單機(jī)節(jié)點(diǎn)信息,date褐健、logs目錄使用絕對(duì)路徑
cat >> elasticsearch.yml << EOF
cluster.name: CollectorDBCluster
node.name: node-1
path.data: /home/mon/apps/elasticsearch/data
path.logs: /home/mon/apps/elasticsearch/logs
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000
http.port: 9200 
discovery.zen.ping.unicast.hosts: ["10.20.30.123:9300", "10.20.30.124:9300","10.20.30.125:9300"]
discovery.zen.minimum_master_nodes: 2
EOF

#同步ElasticSearch到同集群其他機(jī)器
scp -r ./elasticsearch mon@10.20.30.124:/home/mon/apps
scp -r ./elasticsearch mon@10.20.30.125:/home/mon/apps

#開啟防火墻端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload

2.2 Zookeeper集群部署

#安裝zookeeper注冊(cè)發(fā)現(xiàn)中心
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

tar -xf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10 zookeeper
cd zookeeper/conf/

#寫入Zookeeper集群配置文件付鹿,data目錄使用絕對(duì)路徑
cat > zoo.cfg <<EOF 
tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/home/mon/apps/zookeeper/data 
clientPort=2181 
server.1=10.20.30.123:2888:3888 
server.2=10.20.30.124:2888:3888 
server.3=10.20.30.125:2888:3888
EOF

#創(chuàng)建一個(gè)tmp文件夾澜汤,存放myid
mkdir /home/mon/apps/zookeeper/tmp
echo 1 > /home/mon/apps/zookeeper/tmp/myid

#分發(fā)安裝包
#將配置好的zookeeper拷貝到其他節(jié)點(diǎn)
scp -r ./zookeeper mon@10.20.30.124:/home/mon/apps
scp -r ./zookeeper mon@10.20.30.125:/home/mon/apps
    #注意:修改另外兩臺(tái)服務(wù)器對(duì)應(yīng)/home/mon/apps/zookeeper/tmp/myid內(nèi)容
#server.2
echo 2 > /home/mon/apps/zookeeper/tmp/myid
#server.3
echo 2 > /home/mon/apps/zookeeper/tmp/myid

#開放防火墻端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --reload

#啟動(dòng)集群,按server.1舵匾、server.2俊抵、server.3的順序分別啟動(dòng)Zookeeper服務(wù)
cd /home/mon/apps/zookeeper/bin
./zkServer.sh start

#停止集群,分別停止Zookeeper服務(wù)
./zkServer.sh stop

#查詢Zookeeper節(jié)點(diǎn)狀態(tài)
./zkServer.sh status

2.3 SkyWalking集群部署

#包括Collector收集器坐梯,Agent探針徽诲,WebUI響應(yīng)界面
wget http://www-eu.apache.org/dist/incubator/skywalking/5.0.0-beta2/apache-skywalking-apm-incubating-5.0.0-beta2.tar.gz

tar -xf apache-skywalking-apm-incubating-5.0.0-beta2.tar.gz

mv apache-skywalking-apm-incubating skywalking

#配置Zookeeper、ElasticSearch集群
cd skywalking/config
find . -name 'application.yml' |grep admin |xargs sed -i 's/#cluster:/cluster:/g'
find . -name 'application.yml' |grep admin |xargs sed -i 's/#  zookeeper:/  zookeeper:/g'
find . -name 'application.yml' |grep admin |xargs sed -i 's/#    hostPort: localhost:2181/    hostPort: 10.20.30.123:2181,10.20.30.124:2181,10.20.30.125:2181/g'
find . -name 'application.yml' |grep admin |xargs sed -i 's/#    sessionTimeout: 100000/    sessionTimeout: 100000/g'
find . -name 'application.yml' |grep admin |xargs sed -i 's/    host: localhost/    host: 0.0.0.0/g'
find . -name 'application.yml' |grep admin |xargs sed -i 's/    clusterNodes: localhost:9300/    clusterNodes: 10.20.30.123:9300,10.20.30.124:9300,10.20.30.125:9300/g'

#配置WebUI訪問(wèn)Collector集群
cd ../webapp
find . -name 'webapp.yml' |grep admin |xargs sed -i 's/    listOfServers: 127.0.0.1:10800/    listOfServers: 10.20.30.123:10800,10.20.30.124:10800,10.20.30.125:10800/g'

#配置WebUI端口號(hào)吵血,可使用默認(rèn)8080谎替,以下僅做示例,根據(jù)實(shí)際需求修改
find . -name 'application.yml' |grep admin |xargs sed -i 's/  port: 8080/  port: 8081/g'

#開放防火墻端口
#8080為WebUI組件使用的端口號(hào)蹋辅,可在webapp.yml中修改
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=10800/tcp --permanent
firewall-cmd --zone=public --add-port=11800/tcp --permanent
firewall-cmd --zone=public --add-port=12800/tcp --permanent
firewall-cmd --reload

#啟動(dòng)Collector钱贯、WebUI,在集群機(jī)器上分別啟動(dòng)
cd ../bin
./startup.sh

#也可分別啟動(dòng)Collector和WebUI
./collectorService.sh
./webappService.sh

2.4 Agent探針集群部署

#配置SkyWalking集群
cd ../agent/config
find . -name 'application.yml' |grep admin |xargs sed -i 's/# collector.direct_servers=www.skywalking.service.io/collector.direct_servers=10.20.30.123:11800,10.20.30.124:11800,10.20.30.125:11800/g'

#分發(fā)Agent探針晕翠,在部署SkyWalking的機(jī)器上
cd skywalking
scp -r agent mon@10.20.30.126:/home/mon/apps/

#探針啟動(dòng)方式參考上面單機(jī)模式部署
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喷舀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子淋肾,更是在濱河造成了極大的恐慌,老刑警劉巖爸邢,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樊卓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡杠河,警方通過(guò)查閱死者的電腦和手機(jī)碌尔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)券敌,“玉大人唾戚,你說(shuō)我怎么就攤上這事〈纾” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵募书,是天一觀的道長(zhǎng)莹捡。 經(jīng)常有香客問(wèn)我篮赢,道長(zhǎng),這世上最難降的妖魔是什么涣脚? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任涩澡,我火速辦了婚禮坠敷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粥帚。我一直安慰自己芒涡,他們只是感情好卖漫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布羊始。 她就那樣靜靜地躺著,像睡著了一般柏卤。 火紅的嫁衣襯著肌膚如雪缘缚。 梳的紋絲不亂的頭發(fā)上敌蚜,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天钝侠,我揣著相機(jī)與錄音,去河邊找鬼里初。 笑死双妨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刁品。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼状您,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼膏孟!你這毒婦竟也來(lái)了拌汇?” 一聲冷哼從身側(cè)響起噪舀,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤与倡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后仇奶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體比驻,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡别惦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掸掸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扰付。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仁讨。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洞豁,死狀恐怖荒给,靈堂內(nèi)的尸體忽然破棺而出志电,到底是詐尸還是另有隱情蛔趴,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布鱼蝉,位于F島的核電站蚀乔,受9級(jí)特大地震影響吉挣,放射性物質(zhì)發(fā)生泄漏婉弹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一氯哮、第九天 我趴在偏房一處隱蔽的房頂上張望喉钢。 院中可真熱鬧良姆,春花似錦、人聲如沸税课。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)找颓。三九已至叮雳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間帘不,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工储狭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辽狈,地道東北人呛牲。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓娘扩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親琐旁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灰殴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 文章圖片上傳不正常牺陶,如需文檔,可聯(lián)系微信:1017429387 目錄 1 安裝... 4 1.1 配置探針... ...
    Mrhappy_a7eb閱讀 6,313評(píng)論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理减俏,服務(wù)發(fā)現(xiàn),斷路器奏夫,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • 概述 監(jiān)控預(yù)警平臺(tái), eagle + eye (鷹眼)的合體詞, 寓意可以快速發(fā)現(xiàn)問(wèn)題, 并及時(shí)作出響應(yīng),Eagl...
    Kungfu貓熊閱讀 7,389評(píng)論 0 52
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評(píng)論 6 342
  • 本人陸陸續(xù)續(xù)接觸了ELK的1.4廊谓,2.0蒸痹,2.4春弥,5.0匿沛,5.2版本,可以說(shuō)前面使用當(dāng)中一直沒(méi)有太多感觸逃呼,最近使用...
    三杯水Plus閱讀 4,106評(píng)論 0 12