常見的監控工具對比
SkyWalking:中國人吳晟(華為)開源的一款分布式追蹤,分析,告警的工具,現在是Apache旗下開源項目,對雲原生支持,目前增長勢頭強勁,社區活躍,中文文檔沒有語言障礙。
Zipkin:Twitter公司開源的一個分布式追蹤工具,被Spring Cloud Sleuth集成,使用廣泛而穩定,需要在應用程序中埋點,對代碼侵入性強
Pinpoint:一個韓國團隊開源的產品,探針收集的數據粒度非常細,但性能損耗大,因其出現的時間較長,完成度很高。
Cat:美團大眾點評開源的一款分布式鏈路追蹤工具。需要在應用程序中埋點,對代碼侵入性強。
1.安裝es
-
安裝java環境
yum -y install java-1.8* -
下載包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-x86_64.rpm -
解壓
rpm -ivh elasticsearch-7.15.2-x86_64.rpm -
查看
rpm -qc elasticsearch
/etc/elasticsearch/elasticsearch.yml # 主配置文件
/etc/elasticsearch/jvm.options # 虛擬內存設置文件
/etc/elasticsearch/log4j2.properties # 日志配置
/etc/elasticsearch/role_mapping.yml # 索引的規則文件
/etc/elasticsearch/roles.yml # 規則文件
/etc/init.d/elasticsearch # 啟動腳本
/etc/sysconfig/elasticsearch # es的系統配置
/usr/lib/sysctl.d/elasticsearch.conf # 庫文件的配置
/usr/lib/systemd/system/elasticsearch.service # systemd管理啟動程序 -
服務啟動所占用的內存 內存不足卡改為512m
vim /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g -
配置
grep '^[a-z]' /etc/elasticsearch/elasticsearch.yml
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.0.165
http.port: 9200
discovery.seed_hosts: ["192.168.0.165"]
cluster.initial_master_nodes: ["node-1"] -
修改內存限制
vim /usr/lib/systemd/system/elasticsearch.service
[Service]
LimitMEMLOCK=infinity # 增加配置
-
重新加載啟動腳本並啟動並加入開機自啟
systemctl daemon-reload && systemctl start elasticsearch && systemctl enable elasticsearch
2.安裝SkyWalking
-
下載軟件包
wget https://archive.apache.org/dist/skywalking/8.4.0/apache-skywalking-apm-es7-8.4.0.tar.gz -
解壓 重命名
tar xf apache-skywalking-apm-es7-8.4.0.tar.gz -C /usr/local
mv /usr/local/apache-skywalking-apm-bin-es7 /usr/local/skywalking-8.4.0 -
修改存儲為es
vim /usr/local/skywalking-8.4.0/config/application.yml
-
啟動oap
/usr/local/skywalking-8.4.0/bin/oapService.sh -
驗證
-
修改UI端口
vim /usr/local/skywalking-8.4.0/webapp/webapp.yml
-
啟動UI
/usr/local/skywalking-8.4.0/bin/webappService.sh -
查看
-
訪問
3.配置agent
-
修改agent配置 只需修改對應的ip即可
grep "^[a-Z]" /usr/local/skywalking-8.4.0/agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.0.128:11800}
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
logging.level=${SW_LOGGING_LEVEL:INFO}
plugin.mount=$ -
創建指定目錄存放agent
mkdir -p /data/appdatas/cat && mv /usr/local/skywalking-8.4.0/agent /data/appdatas/cat/ -
啟動 隨便找個jar包即可
nohup java -javaagent:/data/appdatas/cat/agent/skywalking-agent.jar -Dskywalking.agent.service_name=test -jar /root/a.jar & -
查看