常见的监控工具对比
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=${SW_MOUNT_FOLDERS:plugins,activations} -
创建指定目录存放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 & -
查看