Skip to content

统一告警部署

1.1.unify-alert安装

1.1.1.获取unify-alert-xxx.zip的安装包

1.1.2.上传安装包至~/app-run安装目录下执行如下命令:

shell
unzip unify-alert-xxx.zip

1.1.3.配置修改

配置项配置项说明
spring.datasource.url数据库地址
spring.datasource.driver-class-name数据库驱动
spring.datasource.username数据库用户名
spring.datasource.password数据库密码
spring.datasource.druid.validationQuery验证数据库连接的语句
mybatis.configuration.database-id数据库类型
spring.redis.hostredis地址
spring.redis.portredis端口
spring.elasticsearch.rest.urises地址,集群情况下配置多个,逗号隔开
alert.load-balance
alert.multi-tenant多租户数据隔离开关

application.yml中配置通知相关参数:

yaml
spring:
  mail:
    # 若要使用host请保证邮件服务器可以联通,否则请注释掉host字段 smtp.163.com
    host: smtp.qq.com #  发送邮件服务器
    username: test@qq.com # 发送邮件的邮箱地址
    password: password  # 客户端授权码,不是邮箱密码,这个在qq邮箱设置里面自动生成的
    properties.mail.smtp.port: 465 # 端口号465或587
    from: test@qq.com # 发送邮件的地址,和上面username一致
    properties.mail.smtp.starttls.enable: true
    properties.mail.smtp.starttls.required: true
    properties.mail.smtp.ssl.enable: true
    default-encoding: utf-8
    isEnable: true
  ding:
    robot:
      # 钉钉群的webhook地址
      dingsUrl: https://oapi.dingtalk.com/robot/send
    isEnable: true
  # 以下数据均由企业微信管理平台获取
  wechat:
    agentId: test
    corpId: test
    corpsecret: test
    isEnable: true
  sms:
    # 中国网建服务器地址 固定不变
    serviceAddress: http://gbk.api.smschinese.cn
    # 用户账号
    uid: renbo
    # 密钥
    key: d41d8cd98f00b204e980
    isEnable: true
  notice:
    isEnable: true
  messages:
    encoding: UTF-8

1.1.4.启动

进入unify-alert的bin目录下,执行如下命令:

shell
./start.sh 中心标识(dev/sit/fat中的一种)

1.1.5.检查服务

执行如下命令:

shell
jps -lm | grep unify-alert

1.2.alert-prometheus安装

该微服务需要与prometheus部署到同一台服务器,负责监控操作prometheus。若prometheus部署多个,则alert-prometheus也部署多个。

1.2.1.获取alert-prometheus-xxx.zip的安装包

1.2.2.上传安装包至~/app-run安装目录下执行如下命令:

shell
unzip alert-prometheus-xxx.zip

1.2.3.配置修改

配置项配置项说明
alert.agent.prometheus.port配置prometheus服务的端口
alert.agent.prometheus.install-path配置prometheus的安装路径
alert.agent.prometheus.rule-dirprometheus的规则文件存放目录,与prometheus.yml中配置rule_files的路径配置一致。

prometheus配置:

yaml
alerting:
  alertmanagers:
    - static_configs:
        - targets: [ 'dcits.cbs.alert.sit1:9093' ] # unify-alert服务所在地址
rule_files:
  - "./alertrules/*.yml"

1.2.4.启动

进入alert-prometheus的bin目录下,执行如下命令:

shell
./start.sh 中心标识(dev/sit/fat中的一种)

1.2.5.检查服务

执行如下命令:

shell
jps -lm | grep unify-alert

1.3.集群部署

eg: 1台nginx做负载转发,部署2台unify-alert,2台alert-prometheus,2台prometheus。

1.3.1.nginx配置

properties
upstream alert {
server 192.168.162.18:9093;
server 192.168.162.18:9094; 
}
server { 
listen 9999; 
server_name localhost; 
location / { 
proxy_pass http://alert;
}
}

其中,server代表nginx负载转发的后台地址(因为现在仅在一台服务器测试所以仅修改为端口不一致),listen为监听端口。实际请求地址为:nginx部署节点的ip: 9999请求会被转发至server配置的两个具体后台地址。

1.3.2.unify-alert配置

yaml
alert:
  load-balance: dcits.cbs.alert.sit1:9093
  #配置unify-alert负载地址

1.3.3.alert-prometheus配置

yaml
#port为与alert-prometheus相关联的prometheus的端口号
alert:
  agent:
    prometheus: # agent配置 请求prometheus活性探测及其配置加载
      port: 9090  # 用于探测
      install-path: /app/hxbank/software/prometheus-2.26.0.linux-amd64   # 默认启动拉起
      rule-dir: alertrules  # 规则目录

prometheus配置如下:

yaml
alerting:
  alertmanagers:
    - static_configs:
        #配置unify-alert的负载地址,不需要配置路径/api/v1/alerts,prometheus默认会拼接该路径
        - targets: [ '192.168.164.179:9999' ]