Prometheus+Grafana监控docker和linux

Prometheus简介是一套开源的系统监控报警框架。Prometheus作为新一代的云原生监控系统,相比传统监控监控系统(Nagios或者Zabbix)拥有如下优点

易管理性:Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储

高效性:单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点

易于伸缩性:通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群

丰富的看板:多种可视化图表及仪表盘支持

针对容器监控:对docker,k8S监控有成熟解决方案

1.编辑主配置文件:prometheus.yml

# my global config
global:
  scrape_interval:     15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
rule_files:
  # - "first_rules.yml"

scrape_configs:

  - job_name: 'prometheus'

    static_configs:
    - targets: ['192.168.134.180:9090']

  - job_name: "docker"
    static_configs:
    - targets: ['192.168.134.180:6080']

  - job_name: "Linux"
    static_configs:
    - targets: ['192.168.134.180:9100']

2.下载镜像

docker pull   prom/prometheus

开启路由内核转

echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
sysctl -p

3.控制节点,启动容器,挂载配置文件

docker run -d  --name=prometheus   -p 9090:9090   -v /home/amax/prometheus.yml:/etc/prometheus/prometheus.yml    prom/prometheus

访问ip:9090出现Ui界面即成功

4.被监控节点,需要监控docker容器,部署cAdvisor

docker run -d   \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro  \
--volume=/sys:/sys:ro  \
--volume=/var/lib/docker/:/var/lib/docker:ro  \
--volume=/dev/disk/:/dev/disk:ro \
--publish=6080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

访问网页ip:6080出现UI即成功

http://ip:8080/metrics #该地址的数据为prometheus识别的数据的接口

如需要监控其他主机,第一步的配置文件需要同步修改。

5.控制节点测试

http://ip:9090/  可以看到监控指标说明获取数据成功

6.控制节点,部署Grafana,从Prometheus中获取数据

docker  run -d --name=grafana  -p 3000:3000  grafana/grafana

默认登录密码admin/admin

http://ip:3000/   #p配置数据源,配置完成点击保存

导入监控模版,输入193,点击load会自动发现

监控效果如图:

7.监控Linux主机

下载node_exporter二进制文件,并开机自启,默认监听9100端口

wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
tar zxf node_exporter-0.17.0.linux-amd64.tar.gz
cp node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/node_exporter

cat <<EOF >/etc/systemd/system/node_exporter.service
[Unit]
Description=https://prometheus.io

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable node_exporter
systemctl restart node_exporter

访问ip:9100/metrics可以查看监控信息

在第一步中添加本节点的地址信息即可监听Linux状态

检测方法:http://192.168.134.180:9090/targets 说明采集成功

然后配置grafana仪表盘,本次导入9276模板,和刚才导入模板的方式一致。导入完成即可看到如图所示模板

结束参考文档:

微信公众号[运维派]

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇