docker部署的grafana容器。主要是监控kolla部署下OpenStack的虚拟机和宿主机的状态警告。
设置相应的监控dashboard
https://blog.csdn.net/dandanfengyun/article/details/114540296
一、配置grafana配置文件。
如192.168.199.91,192.168.199.92两个计算节点
VIP为192.168.199.90
grafana 配置文件修改不管是 Email方式还是DingDing方式。
警报通知中会包含一个URL地址,通过该URL访问到grafana,配置文件中server段未设置root_url,默认
root_url = %(protocol)s://%(domain)s:%(http_port)s/
这样才能通过发送的notification通知打开grafana,默认的domain=localhost,所以默认情况下如果接收到警告的主机点击警告通知访问到的网址是http://localhost:3000
,是无法访问到grafana的,所以需要设置domain为vip,这样才能通过警告通知点击访问grafana。
设置domain为虚拟IP。
mkdir -p /etc/kolla/config/grafana
mkdir /etc/kolla/config/grafana/compute-1
mkdir /etc/kolla/config/grafana/compute-2
多个宿主机grafana配置文件区别只在于server段的设置。其他的设置如[paths],[database],[session],[analytics],[security] 等设置是一样的。
http_addr 本机的IP地址
http_port 本机grafana的访问端口 默认3000
domain 此处需要设置为 虚拟IP,因为设置虚拟IP后
root_url=http://vip:3000,通过警告通知可以访问到grafana。
复制配置文件到config
cp /etc/kolla/grafana/grafana.ini /etc/kolla/config/grafana/compute-1/
cp /etc/kolla/grafana/grafana.ini /etc/kolla/config/grafana/compute-2/
compute-1主机设置
vim /etc/kolla/config/grafana/compute-1/grafana.ini
[server]
protocol = http
http_addr = 192.168.199.91
http_port = 3000
router_logging = true
static_root_path = public
enable_gzip = false
domain = 192.168.199.90
[alerting]
enabled = true
execute_alerts = true
compute-2主机设置
vim /etc/kolla/config/grafana/compute-2/grafana.ini
[server]
protocol = http
http_addr = 192.168.199.92
http_port = 3000
router_logging = true
static_root_path = public
enable_gzip = false
domain = 192.168.199.90
[alerting]
enabled = true
execute_alerts = true
[alerting] 段可以不用设置。因为和未设置时默认的设定一致。
kolla加载使grafana 配置修改生效。
kolla-ansible reconfigure -i /etc/kolla/multinode
二、设置notification。
虽然有多个grafana节点,但是每个节点数据保存都是在同一个mysql数据库中,包括data source,dashboard和alert notification。所以,不用担心多个grafana也同时发送多个同样的警告通知。
警告通知的设置。在监控告警时选择以何种警告通知的方式将警告发送出去,如邮件,钉钉。可以选择多个警告通知方式。
1.钉钉警告通知设置
在grafana设置前,需要在钉钉群里设置一个自定义机器人。
选择一个要发送警告通知的群。点击右上角群设置 选项。
智能群助手-添加机器人
选择自定义。
可以设置机器人名字,添加到群组,以及安全设置。可以设置为
安全设置 有三种方式,关键词,加签,设置IP段。可以选择一种,此处选择IP段的方式。
注,此处设置的IP段必须是公网IP,设置局域网IP是无效的。
设置完成,便可以得到一个webhook,通过此webhook即可使用该机器人
可以测试一下使用。将access_token设置为webhook后测试一下钉钉群有没有收到消息。
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content": "我就是我, 是不一样的烟火"}}&#