容器|装在笔记本里的私有云环境:监控篇( 五 )
另外,如果 Prom 和 Push Gateway 不在相同网络,官方除了推荐将它们放置在相同网络之外,推荐使用 PushProx。
同样,启动应用之后,我们使用浏览器访问,http://monitor.lab.com:9091/,能够看到应用运行中的状态。
文章插图
监控告警:Alert ManagerAlert Manager 是 Prom 非常重要的官方组件之一,负责管理以及执行报警通知策略。使用容器来运行它的配置非常简单:
version: "3"services:alertmanager:image: prom/alertmanager:v0.23.0container_name: alertmanagervolumes:- ./config.yml:/etc/alertmanager/config.ymlcommand:- "--config.file=/etc/alertmanager/config.yml"- "--storage.path=/alertmanager"restart: alwaysexpose:- 9093ports:- 9093:9093networks:- monitorlogging:driver: "json-file"options:max-size: "1m"networks:monitor:external: true
在配置规则之前,我建议先阅读官方文档中对“沉默”、“抑制”、“分组”的告警相关概念的定义,然后直接参考 alertmanager GitHub 官方配置进行调整即可。当然,结合我们日常实际使用情况,你可以搜索“ alertmanager 微信、钉钉、飞书 ” 的具体配置,进行酌情修改,因为配置过程比较冗长,这里就不再展开了。
将告警配置配置完毕之后,保存到和上面的 docker-compose.yml 相同目录下,文件名设置为 config.yml ,然后使用 docker-compose up -d 启动应用即可。
不出意外的话,使用 docker-compose logs -f 将看到类似下面的日志:
alertmanager| level=info ts=2021-10-30T05:36:48.479Z caller=main.go:225 msg="Starting Alertmanager" version="(version=0.23.0, branch=HEAD, revision=61046b17771a57cfd4c4a51be370ab930a4d7d54)"alertmanager| level=info ts=2021-10-30T05:36:48.479Z caller=main.go:226 build_context="(go=go1.16.7, user=root@e21a959be8d2, date=20210825-10:48:55)"alertmanager| level=info ts=2021-10-30T05:36:48.479Z caller=cluster.go:184 component=cluster msg="setting advertise address explicitly" addr=172.19.0.7 port=9094alertmanager| level=info ts=2021-10-30T05:36:48.480Z caller=cluster.go:671 component=cluster msg="Waiting for gossip to settle..." interval=2salertmanager| level=info ts=2021-10-30T05:36:48.529Z caller=coordinator.go:113 component=configuration msg="Loading configuration file" file=/etc/alertmanager/config.ymlalertmanager| level=info ts=2021-10-30T05:36:48.529Z caller=coordinator.go:126 component=configuration msg="Completed loading of configuration file" file=/etc/alertmanager/config.ymlalertmanager| level=info ts=2021-10-30T05:36:48.531Z caller=main.go:518 msg=Listening address=:9093alertmanager| level=info ts=2021-10-30T05:36:48.531Z caller=tls_config.go:191 msg="TLS is disabled." http2=falsealertmanager| level=info ts=2021-10-30T05:36:50.481Z caller=cluster.go:696 component=cluster msg="gossip not settled" polls=0 before=0 now=1 elapsed=2.001143672salertmanager| level=info ts=2021-10-30T05:36:58.482Z caller=cluster.go:688 component=cluster msg="gossip settled; proceeding" elapsed=10.002273404s...
然后使用浏览器访问 http://10.11.12.186:9093/ 就能看到默认的界面了,并且默认会出现我们之前在 Prometheus 中配置的应用名称 “docker-prometheus”。
文章插图
可视化面板:Grafana将上面的应用和组件部署完毕之后,如果不要求视觉体验,其实使用 Prometheus 默认自带的绘图已经能够定位和说明一些问题了,但是相比较 Grafana 而言,Prometheus 默认的绘图功能相当简陋,无法直观的展示多个指标和趋势,并且有些时候,我们并不单单需要展示单一来源的数据,可能还牵扯到外部网站、应用的数据源。Grafana 就是为此而生的。
还是先来编写容器配置文件:
version: "3"services:grafana:image: grafana/grafana:8.2.2container_name: grafanauser: "472"volumes:- ./data:/data:rw# 根据自己情况,是否需要持久化面板配置 :)# - ./dashboards:/etc/grafana/provisioning/dashboards- ./datasources:/etc/grafana/provisioning/datasourcesenvironment:- GF_PATHS_DATA=https://www.360kuai.com/data- GF_SECURITY_ADMIN_USER=admin- GF_SECURITY_ADMIN_PASSWORD=admin- GF_USERS_ALLOW_SIGN_UP=falserestart: alwaysexpose:- 3000ports:- 3000:3000networks:- monitorlogging:driver:"json-file"options:max-size: "1m"networks:monitor:external: true
- 大屏|尺寸直追笔记本 曝国产厂商将推出高刷大屏旗舰平板
- 笔记本电脑|年货节,这些手机值得买!新年败家购机不完全指北
- 阿里巴巴|一块桌面版3070显卡的价格,就够买一个3070笔记本,还能剩点
- 笔记本|第一台电脑是在1998年买的,你呢?
- TCL|TCL 推出首款 Book 14 Go 笔记本?售价 2264 元性价比较高!
- 这些常见的电容器你认识几种?
- mac|程序员一旦用过一次苹果笔记本,这辈子都不会买windows电脑了
- 笔记本电脑|练口语的好助手:惠普Envy14轻薄便携笔记本电脑
- 笔记本|CES 2022 华硕新品曝光:一款最有看点的笔记本,还有大放异彩的 ROG
- 笔记本|送给自己的新年礼物,戴尔Inspiron 13-5310笔记本