SkyWalking 创建于2015年,提供分布式追踪功能。从5.x开始项目进化为一个完整功能的Application Performance Manager系统
它被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
分布式追踪和上下文传输
应用、实例、服务性能指标分析
根源分析
应用拓扑分析
应用和服务依赖分析
慢服务检测
性能优化
1.使用ifconfig或者ip addr命令查看当前虚拟机中的端口号;若查不到ip,则查看ens33网卡的配置,输入vi /etc/sysconfig/network-scripts/ifcfg-ens33(vi后加空格)将ONBOOT的权限改为yes,接着按esc+:wq+enter保存并退出,最后重启网络服务,输入sudo service network restart,再输入ifconfig或者ip addr命令查看端口号即可(有时候会突然外部工具连接不上,找不到ipv4的地址,可能需要重启下service network restart,再试试)
2.centos7自带的防火墙firewall的相关指令
systemctl stop firewalld.service //停止firewall
systemctl disable firewalld.service //禁止firewall开机启动
systemctl status firewalld.service //查看firewall的状态
3.安装JDK:
输入java -version查看系统是否自带有JDK,如果没有(-bash: java: command not found),就可以直接安装了;如果有,则显示系统自带JDK的版本(OpenJDK以及相关的java文件);接着输入命令rpm -qa | grep java,查询包含“java”字符串的文件及文件夹,除了后缀名为.noarch的,其余的都要用命令(rpm -e --nodeps + 文件名)删除(删除需要在root权限下)。再次输入java -version检验是否删除成功。
正式开始安装:把下载好的JDK上传到虚拟机中后,输入命令 cp JDK版本 /usr/local/src/ 将JDK复制一份到此文件夹下做备份,继续再在/usr下输入 mkdir java创建一个名字为java的文件夹,再把下载好的JDK复制进去,输入tar -zxvf + JDK版本 解压即安装。最后输入命令 rm -f +jdk版本,删除压缩包。
配置JDK环境变量:输入vi /etc/profile 编辑全局变量文件如下(CentOS7)
#jav aenvrionment
export JAVA_HOME=/usr/java/jdk1.8.0_191
export CLASSPATH=.:JAVAHOME/jre/lib/rt.jar:{JAVA_HOME}/jre/lib/rt.jar:JAVAHOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar:JAVAHOME/lib/tools.jarexportPATH={JAVA_HOME}/lib/tools.jar
export PATH=JAVAHOME/lib/tools.jarexportPATH={JAVA_HOME}/bin:$PATH
保存并退出之后,输入source /etc/profile 让刚刚配置的环境变量生效。
可能每次重启虚拟机后会出现source下环境变量的配置,这个时候需要把上面环境变量配置在vi /etc/bashrc中,这个是永久环境变量。最后执行source /etc/bashrc让配置生效。
如果虚拟机中好多命令都发现不存在,都找不到,那就是环境变量配置有问题!亲测!
4.安装elasticsearch:
在 /usr/src/ 输入命令mkdir elasticsearch 和 mkdir skywalking创建elasticsearch文件夹及skywalking文件夹,之后把下载好的压缩包给分别上传到这两个文件夹中。输入tar -zxvf + 软件压缩包 解压即安装。最后输入命令 rm -f +软件压缩包,删除压缩包。
配置一些elasticsearch相关配置:
cluster.name: elasticsearch //修改为自定义的用户名
node.name: wang-node-1 //修改为自定义的节点名
network.host: 0.0.0.0 //外网访问时配置的IP地址
http.port: 9200 //默认端口号要开放
安装过程中出现的一些异常信息:
a. Caused by: java.lang.IllegalStateException: Unable to access ‘path.logs’ (/usr/src/elasticsearch/elasticsearch-5.6.8/logs)
Caused by: java.nio.file.AccessDeniedException: /usr/src/elasticsearch/elasticsearch-5.6.8/logs
这个异常信息是因为此文件夹没有对应的权限,输入命令chown -R elastic:elastic /usr/src/elasticsearch/elasticsearch-5.6.8
b.ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
这个问题是每个进程最大同时打开文件数太小,解决方式是:切换到root用户,修改/etc/security/limits.conf文件,增加如下配置,切回elastic用户后即生效 * soft nofile 65536 && * hard nofile 65536
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
切换到root用户,修改/etc/sysctl.conf文件,增加如下配置:vm.max_map_count=655360 ,然后执行sysctl -p ,修改生效
c.所有配置都正确,远程还是无法访问,大概是防火墙没有关闭。关闭防火墙:systemctl stop firewalld.service
5.安装skywalking:
修改配置文件vi config/application.yml,修改下列信息:
storage:
elasticsearch:
cluster_name: elastic(要跟elasticsearch中配置保持一致)
cluster_transport_sniffer: true
cluster_nodes:192.168.35.132(配置自己的虚拟机IP):9300
启动:./bin/startup.sh 输入IP+8080(默认端口)进行访问
探针部署:
https://blog.youkuaiyun.com/y_h_d/article/details/83342846