天天看點

監控告警01--夜莺部署與接入

監控告警01--夜莺部署與接入

  • ​​1 滴滴夜莺簡介​​
  • ​​2 部署​​
  • ​​2.1 docker-compose部署​​
  • ​​2.2 二進制部署 v4 版本​​
  • ​​2.3 用戶端部署​​
  • ​​3 告警配置​​
  • ​​3.1 郵件告警​​
  • ​​3.2 飛書告警​​
  • ​​3.3 短信告警​​
  • ​​3.4 電話告警​​
  • ​​4 測試效果​​
  • ​​5 說明​​
  • ​​5.1 常見問題​​
  • ​​5.2 參考文檔​​

1 滴滴夜莺簡介

夜莺是滴滴開源的一套監控告警系統,其主要包括如下四個子系統,分别是:

  1. 使用者資源中心(RDB)
  2. 資産管理系統(AMS)
  3. 任務執行中心(JOB)
  4. 監控告警系統(MON)

    更多詳細介紹請參考官方文檔:​滴滴夜莺官方文檔

2 部署

2.1 docker-compose部署

線上部署docker-compose版本無意義,步驟如下:

git clone [email protected]:didi/nightingale.git
checkout 到 v4.0.4
cd dockerfiles/n9e && chmod +x *.sh
cd      

優點:速度快

缺點:重新開機容器後資料會丢失

2.2 二進制部署 v4 版本

安裝常見軟體(此處以centos系統為例子)

安裝redis:
yum install -y redis 

安裝nginx:yum install -y nginx 

安裝sql:yum install -y mariadb-server 
systemctl enable mariadb.service 
systemctl start mariadb.service 
[centos 報錯]
更改密碼: SET password for 'root'@'localhost'=password('1234'); 

安裝 m3db: 
mkdir -p /home/m3db 
cd /home/m3db 
wget https://s3-gz01.didistatic.com/n9e-pub/tarball/m3dbnode-single-v0.0.1.tar.gz 
tar zxvf m3dbnode-single-v0.0.1.tar.gz 
cd m3dbnode-single ./scripts/install.sh # retentionTime 表示曆史監控資料存儲時長,使用m3一般建議最長不要超過3個月 
curl -X POST http://localhost:7201/api/v1/database/create -d '{ "type": "local", "namespaceName": "default", "retentionTime": "48h" }'      

啟動服務:

mkdir -p /home/n9e/n9e-v4 cd /home/n9e/n9e-v4 
wget http://116.85.64.82/n9e-4.0.2.tar.gz 
tar n9e-4.0.2.tar.gz 
cd sql 
mysql -uroot -p1234 < n9e_ams.sql 
mysql -uroot -p1234 < n9e_hbs.sql 
mysql -uroot -p1234 < n9e_job.sql 
mysql -uroot -p1234 < n9e_mon.sql 
mysql -uroot -p1234 < n9e_rdb.sql 
cd /home/n9e/n9e-v4 
wget http://116.85.64.82/pub-3.5.2.tar.gz 
tar zxvf pub-3.5.2.tar.gz 
cp etc/nginx.conf /etc/nginx/nginx.conf # 若需要修改前端位置,那麼需要同步修改nginx中root路徑對應的參數, 
systemctl restart nginx 
cd      

2.3 用戶端部署

從管理機器上同步agent目錄到待安裝機器上, 然後啟動agent即可(建議将夜莺相關的檔案統一放在n9e使用者目錄下)

scp -r agent ip:~
adduser --home /home/n9e n9e
mv agent/* /home/n9e
cd      

若需要更改agent上報server ip,直接修改 agent/etc/address.yml 中的ip即可

cat etc/address.yml 
---
server:
  http: 0.0.0.0:8000
  rpc: 0.0.0.0:8001
  addresses:
    - 192.168.xx.xxx # 修改此處ip為實際夜莺server ip即可

prober:
  http: 0.0.0.0:8023

agentd:
  http: 0.0.0.0:2080      

設定開機啟動

ubuntu:
# cp agentd.service /etc/systemd/system/
centos:
# cp agentd.service /usr/lib/systemd/system/

# systemctl enable agentd
Created symlink from /etc/systemd/system/multi-user.target.wants/agentd.service to /usr/lib/systemd/system/agentd.service.
# systemctl start|stop|status agentd  # agent 啟動後就會生成 /home/n9e/n9e-agentd 程序      

3 告警配置

3.1 郵件告警

在系統配置-》smtp配置找那個添加好對應的smpt資訊即可,例如:

smtpPort: 465

smtpPass: ******

3.2 飛書告警

改源碼中的釘釘子產品,然後手動編譯server子產品,替換上述安裝步驟中的server即可。

  1. 修改server中的
  2. 修改server/con/sender_im.go 中的 dingtalk.RobotSend函數,使之與dingtalk.go 對應

3.3 短信告警

配置短線看告警需要配置server.yaml, 并且自己購買短信服務包,編寫端口告警接口,然後替換server.yaml 中的 http://127.0.0.1:2008/sms

cat server.yml |grep -C 2 sms
      worker: 10
      api: http://127.0.0.1:2008/mail
    sms:
      # two choice: shell|api
      way: api
      worker: 10
      api: http://127.0.0.1:2008/sms      

阿裡雲短信成本:

國際-500條,12month有效期, 250rmb

國内-5000條,24month有效期, 180rmb

3.4 電話告警

同上,也需要自己購買電話服務包,然後自己寫接口,并同步更改server.yaml 中的電話接口。

4 測試效果

夜莺系統網址: http://your_ip_ip

預設使用者名密碼: root/root.2020

1)即時看圖:

可以看到指定節點下機器的具體屬性,如果是具體機器則需要選擇為裝置相關,若為具體元件則需要選擇裝置無關

監控告警01--夜莺部署與接入

2)監控大盤:

可以為每個幾點配置一系列的監控大盤,以便于統一檢視該節點下機器或者元件的屬性

監控告警01--夜莺部署與接入

n9e執行個體的基礎名額

監控告警01--夜莺部署與接入

3)告警政策:

可以為每個節點配置一系列的告警政策,以下為sre-k8s主機的一些告警政策

監控告警01--夜莺部署與接入

4)所有曆史告警

5 說明

5.1 常見問題

  1. 使用n9e後,首先需要對依賴的元件進行監控,確定各元件能正常運作,否則會影響服務

    例如:redis挂了會導緻告警不生效

5.2 參考文檔

  1. ​​夜莺官方 docs/intro​​
  2. ​​Nightingale 國産監控夜莺 v4 來了,大幅降低部署維護難度​​
  3. ​​didi/nightingale github​​

繼續閱讀