一、部署前的準備工作
1、關閉 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0
2、安裝需要用的工具
yum -y install vim wget java
3、下載SkyWalking和elasticsearch
SkyWalking和elasticsearch都提供編譯好的包,下載下來解壓後直接使用。
cd /data/ && mkdir package && cd package/
wget http://archive.apache.org/dist/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
注:SkyWalking 6.4.0目前只支持elasticsearch 6.x版本
4、防火牆開放以下端口
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=11800/tcp
firewall-cmd --permanent --add-port=12800/tcp
firewall-cmd --reload
二、部署elasticsearch
su
tar zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
mv elasticsearch-6.6.2 /opt/elasticsearch
修改elasticsearch配置
vim /opt/elasticsearch/config/elasticsearch.yml
cluster.name: CollectorDBCluster
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
創建啓動用戶
useradd elk -p elk
chown -R elk:elk /opt/elasticsearch
修改limit數量,需要重新登陸系統生效
vim /etc/security/limits.conf #添加以下內容
## 每個進程最大打開文件數
* soft nofile 65536
* hard nofile 65536
## 每個進程最大進程個數
* soft nproc 4096
* hard nproc 4096
修改內核參數vm.max_map_count
vim /etc/sysctl.conf #添加以下內容
vm.max_map_count=262144
執行以下命令生效
sysctl -p
切換到elk用戶,啓動elasticsearch
su - elk
/opt/elasticsearch/bin/elasticsearch -d
瀏覽器訪問http://192.168.253.218:9200/進行驗證
出現以上頁面說明elasticsearch安裝OK。
三、部署SkyWalking
su
tar zxvf apache-skywalking-apm-6.4.0.tar.gz
mv apache-skywalking-apm-bin/ /opt/skywalking
修改SkyWalking配置
vim /opt/skywalking/config/application.yml
將h2內容註釋掉,啓用elasticsearch內容,使用elasticsearch存儲數據。
注:nameSpace需要與elasticsearch的cluster.name保持一致
啓動SkyWalking
su - elk
cd /opt/skywalking/bin/
./startup.sh
驗證,瀏覽器訪問http://192.168.253.218:8080/
能正常訪問表示安裝OK。
四、Java項目接入
skywalking支持很多項目,比如Java、.net、github、sample等,這裏我只講下Java項目的接入使用,其他項目大家可自行查看官方文檔。
修改agent/config/agent.config文件內容,只需要修改以下兩行
agent.service_name=${SW_AGENT_NAME:YFW_Java}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.2.211:11800}
注:agent.servicename是你的java項目的名稱;collector.backendservice是項目連接skywalking的IP地址和端口號。
將agent打包並上傳到java項目服務器上,在java程序啓動時添加下面這個參數啓動即可。
-javaagent:/Users/stephenshen/app/skywalking/agent/skywalking-agent.jar
注:指定skywalking-agent.jar文件的完整路徑
然後將skywalking頁面刷新一下,便可看到數據了。
點擊“追蹤”可以看到詳細內容。