微服务监控平台SkyWalking部署实施方案
简单说明:SkyWalking是一个专门为微服务设计的适用于分布式系统和私有云以及容器化环境中收集、分析、聚合和数据可视化的开源监视平台官方文档:https://github.com/apache/skywalking/tree/v6.4.0/docs官方文档概念和设计部分:https://github.com/apache/skywalking/blob/v6.4.0/docs/en/c...
·
简单说明:
- SkyWalking是一个专门为微服务设计的适用于分布式系统和私有云以及容器化环境中收集、分析、聚合和数据可视化的开源监视平台
- 官方文档:https://github.com/apache/skywalking/tree/v6.4.0/docs
- 官方文档概念和设计部分:https://github.com/apache/skywalking/blob/v6.4.0/docs/en/concepts-and-designs/README.md
- 官方文档安装部署部分:https://github.com/apache/skywalking/blob/v6.4.0/docs/en/setup/README.md
- 官方下载页面:http://skywalking.apache.org/downloads/
部署安装 elasticsearch 数据存储:
- 如果以elasticsearch做为数据存储,官方要求在6.3.2以上,且在7.0.0以下: https://github.com/apache/skywalking/blob/v6.4.0/docs/en/setup/backend/backend-storage.md
- 使用 elasticsearch 作为数据存储,部署单点即可,存储的数据是监控和分析的结果,不具有长期保存的价值
- 官方文档中也没有找到使用elasticsearch集群的配置样例,如果要使用集群,建议用nginx做负载代理
- 无需部署index的清理策略,配置文件中recordDataTTL、otherMetricsDataTTL和monthMetricsDataTTL已经设置了数据留存的时间
- 依据《生产JAVA日志的ELK归集方案(一)》部署即可,部署head插件,无需部署index清理脚本
Skywalking 部署安装:
- 依据《CentOS7实验机模板搭建部署》克隆部署一台虚拟机 192.168.77.111:
# 主机配置
HOSTNAME=sw
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts
# 部署安装
cd /tmp
yum -y install java-1.8.0-openjdk
wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
cd /usr/local
tar -xf /tmp/apache-skywalking-apm-6.4.0.tar.gz
cd apache-skywalking-apm-bin/config/
# 配置 application.yml
# 注释掉storage标签的h2标签(93到97行)
# 打开elasticsearch标签(73到92行),并配置74和75行为创建的elasticsearch
cat application.yml |awk '{if(NR>=72 && NR<=97) print $0}'
sed -i '73,92 s/^#\(.*\)/\1/g' application.yml
sed -i '93,97 s/^.*$/#######&/g' application.yml
sed -i 's/SW_NAMESPACE:""/SW_NAMESPACE:"vincent-es"/g' application.yml
sed -i 's/localhost:9200/192.168.77.100:9200/g' application.yml
cat application.yml |awk '{if(NR>=72 && NR<=97) print $0}'
# 启动测试
echo '/usr/local/apache-skywalking-apm-bin/bin/startup.sh'>>/etc/rc.local
cd /usr/local/apache-skywalking-apm-bin/bin
# 开机启动有问题,一直是OutOfMemoryError导致启动失败,但是内存足够,手动启动没问题
./startup.sh
# 浏览器访问 http://192.168.77.111:8080 验证部署成功
在任意主机上部署tomcat进行测试:
cd /tmp
yum -y install java-1.8.0-openjdk
wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
mkdir /web
cd /web
tar -xf /tmp/apache-skywalking-apm-6.4.0.tar.gz
cd /web/apache-skywalking-apm-bin/agent/config/
# 设置当前项目在sw中的显示名和对应的sw服务器地址
AppName=vincent_test
SWser=192.168.77.111:11800
sed -i "s/Your_ApplicationName/$AppName/g" agent.config
sed -i "s/127.0.0.1:11800/$SWser/g" agent.config
cd /web
tar -xf /tmp/apache-tomcat-8.5.34.tar.gz
cd apache-tomcat-8.5.34/conf
sed -i 's/8080/8090/g' server.xml
cd ../bin
sed -i 's|^# OS specific support.*$|&\nexport CATALINA_OPTS|g' catalina.sh
sed -i 's|^# OS specific support.*$|&\nCATALINA_OPTS="$CATALINA_OPTS -javaagent:/web/apache-skywalking-apm-bin/agent/skywalking-agent.jar"|g' catalina.sh
./startup.sh
for i in $(seq 100000);do curl 127.0.0.1:8090 &>/dev/null;sleep 0.5;done &
# 网页查看,查看监控状态
[TOC]
更多推荐
已为社区贡献6条内容
所有评论(0)