当前位置 : 主页 > 编程语言 > java >

监控告警01--夜莺部署与接入

来源:互联网 收集:自由互联 发布时间:2022-09-29
监控告警01--夜莺部署与接入 ​​1 滴滴夜莺简介​​ ​​2 部署​​ ​​2.1 docker-compose部署​​ ​​2.2 二进制部署 v4 版本​​ ​​2.3 客户端部署​​ ​​3 告警配置​​ ​​3.1 邮


监控告警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 滴滴夜莺简介

夜莺是滴滴开源的一套监控告警系统,其主要包括如下四个子系统,分别是:

  • 用户资源中心(RDB)
  • 资产管理系统(AMS)
  • 任务执行中心(JOB)
  • 监控告警系统(MON)
    更多详细介绍请参考官方文档:​滴滴夜莺官方文档
  • 2 部署

    2.1 docker-compose部署

    线上部署docker-compose版本无意义,步骤如下:

    git clone git@github.com: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即可。

  • 修改server中的
  • 修改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--夜莺部署与接入_夜莺_02


    n9e实例的基础指标

    监控告警01--夜莺部署与接入_nightingale_03


    3)告警策略:

    可以为每个节点配置一系列的告警策略,以下为sre-k8s主机的一些告警策略

    监控告警01--夜莺部署与接入_监控告警_04


    4)所有历史告警

    显示所有历史告警和恢复状态,此处为手动停止k8s主机节点后触发的告警

    监控告警01--夜莺部署与接入_夜莺部署与接入_05

    5 说明

    5.1 常见问题

  • 使用n9e后,首先需要对依赖的组件进行监控,确保各组件能正常运行,否则会影响服务
    例如:redis挂了会导致告警不生效
  • 5.2 参考文档

  • ​​夜莺官方 docs/intro​​
  • ​​Nightingale 国产监控夜莺 v4 来了,大幅降低部署维护难度​​
  • ​​didi/nightingale github​​

  • 上一篇:elk笔记18--Secure a cluster
    下一篇:没有了
    网友评论