接個任務,為某公司內網安裝一套Elastic APM, 用於監測內網運行的各類項目。
因為是內網服務器,無法連接內網,選擇使用壓縮包方式安裝部署。
服務器環境: linux Redhat7
step1: 從官網下載相關壓縮包,並使用XFTP上傳到內網服務器中。
官網下載地址: 選擇linux 64-BIT版本,版本號為7.0.3
https://www.elastic.co/cn/downloads/
https://www.elastic.co/cn/downloads/apm
step2: 安裝jdk11.0.4
從官網下載jdk11.0.4,解壓后,設置 /etc/profile
vim /etc/profile
添加
export JAVA_HOME=/usr/es/elk_apm/jdk-11.0.4
export PATH=$PATH:$JAVA_HOME/bin
運行 source /etc/profile
step3: 切換到root賬號,新建一個賬號es,並授予root用戶權限。(Elastic search默認不支持root賬戶啟動)
添加es用戶組 groudadd es
添加es用戶 useradd es
添加es用戶密碼 passwd es
如果在添加過程中出現could not change to group 錯誤,請查閱 https://blog.csdn.net/horace20/article/details/37658153
step4: 在es目錄下新建elk_apm目錄,將上傳的壓縮文件轉移到該路徑下,解壓。授予es用戶對elastic search文件夾的最大控制權限。
sudo chmod 777 /home/es/elk_apm/elasticsearch-7.3.0
step5: 進入elasticsearch-7.3.0/config, 修改elasticsearch.yml配置文件,修改
node.name: node-1
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
step6: 修改部分系統配置,詳見: https://blog.csdn.net/qq_40667143/article/details/86693488
step7: 進入elasticsearch-7.3.0/bin, 運行 ./elasticsearch -d 命令啟動 elastic search, 如啟動成功,運行curl -X GET http://localhost:9200 測試返回內容。如出現錯誤提示,根據錯誤提示查找相應解決辦法。
常見錯誤:權限錯誤,JDK版本錯誤 等。
step8: 進入kibana-7.3.0-linux-x86_64,進入config, 修改 Kibana.yml,修改:
server.port: 5061
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
step9: 運行Kibana , 使用后台運行模式, ./bin/Kibana -&, 啟動完成后在本地瀏覽器中打開 http://{ip}:5061, 打開apm向導頁面。此時apm server尚未啟動。
step10: 進入apm-server-7.3.0-linux-x86_64,修改apm-server.yml, 修改:
host: "0.0.0.0:8200"
rum:
enabled: true
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
hosts: ["localhost:9050"]
運行apm-server 運行命令 , ./apm-server -e,此時返回Kibana apm 向導頁,apm-server狀態為已連接。
step11: 部署一個java demo項目,集成 apm agent
在Kibana apm向導頁中,根據提示下載agent jar包 (elastic-apm-agent-1.8.0.jar)
使用spring boot構建一個簡單的demo項目,打一個可部署的jar包。
將java項目jar包和 apm agent jar包上傳到服務器中。使用如下命令啟動該java項目:
java -javaagent:elastic-apm-agent-1.8.0.jar \
-Delastic.apm.service_name=test-java-application \
-Delastic.apm.server_url=http://localhost:8200 \
-Delastic.apm.secret_token= \
-Delastic.apm.application_packages=ourway.framework.boot \
-jar soundToText-Service-3.0-SNAPSHOT.jar 2>&1 &
(因為該java項目部署在和elastic apm server同一台服務器,所以可以使用http://localhost:8200,如果不在同一台服務器,使用IP替換localhost)
-- 部署完成,可以通過kibana apm 查看test-java-application 項目的運行情況了。