Linuxword Global
当前位置: Linux技术 > Docker+Prometheus+Grafana监控VPS运行状态

Prometheus是一个灵活的时间序列数据库和监控系统,有多个监控组件可用。Grafana是用于展示数据的平台。

这几个工具我之前介绍过,不过当时我是用来做VPS的三网监控。实际上Prometheus能做的事情很多,就比如今天要介绍的全方位监控VPS主机运行状态。

prometheus和grafana为简化安装步骤,这里直接使用docker,首先你要安装docker/docker-compose:

apt -y update
apt -y install curl
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

然后新建一个docker-compose.yml:

mkdir -p /opt/monitor && cd /opt/monitor && nano docker-compose.yml

写入下面的配置:

version: '3.5'

volumes:
    prometheus-data:
    grafana-data:

services:
    prometheus:
        image: prom/prometheus
        container_name: prometheus
        ports:
            - 9090:9090
        volumes:
            - prometheus-data:/prometheus
            - ./prometheus.yml:/etc/prometheus/prometheus.yml
        command:
            - '--config.file=/etc/prometheus/prometheus.yml'
            - '--web.enable-admin-api'
            - '--web.enable-lifecycle'

    grafana:
        image: grafana/grafana
        container_name: grafana
        ports:
            - 3000:3000
        volumes:
            - grafana-data:/var/lib/grafana

接着新建prometheus的配置文件:

nano prometheus.yml

写入如下配置:

global:
    scrape_interval: 5s
    external_labels:
        monitor: 'imlala'

scrape_configs:
    - job_name: 'prometheus'
      static_configs:
          - targets:
                - 'localhost:9090'
            labels:
                instance: prometheus 

    - job_name: 'VPS监控'
      static_configs:
          - targets:
                - '你小鸡的VPS公网IP:9100'
            labels:
                instance: localhost
          - targets:
                - '你的另一只小鸡的公网IP:9100'
            labels:
                instance: ikoula

有多少台VPS就写多少个targets,labels是用于区分。

确认无误后up起来即可:

docker-compose up -d

如果后续你更改了prometheus.yml配置文件内容,可以直接执行下面的命令让prometheus热加载配置,不用重启prometheus容器:

curl -s -XPOST localhost:9090/-/reload

接下来我们需要在每台被监控的小鸡上安装node_exporter,node_exporter是prometheus的数据采集器。

node_exporter设计是用于监控主机系统的,因为它需要访问主机系统,所以官方也不推荐将node_exporter容器化,建议是直接部署在宿主机上。

下载解压移动到usr/bin目录下:

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -xzvf node_exporter-0.18.1.linux-amd64.tar.gz
cd node_exporter-0.18.1.linux-amd64/
cp node_exporter /usr/bin

新建systemd服务文件:

nano /etc/systemd/system/node_exporter.service

写入如下配置:

[Unit]
Description=Node Exporter

[Service]
User=root
ExecStart=/usr/bin/node_exporter

[Install]
WantedBy=multi-user.target

启动/设置开机自启:

systemctl start node_exporter.service
systemctl enable node_exporter.service

访问你的VPSIP:3000应该能看到grafana的WEBUI,默认的管理员账号密码都是admin。登录进去之后,你需要添加数据源:

lala.im_2020-03-22_20-59-06

如果你之前没有改动过docker-compose.yml内的服务名,那么这里应该填写:

lala.im_2020-03-22_21-00-40

其他的保持默认即可,然后点击Save & Test,测试没问题的话就OK了。

现在你需要新建或者导入模板,自己新建的没有人家现成做的好,这里直接导入别人的模板就行:

lala.im_2020-03-22_21-02-50

一些预览:

lala.im_2020-03-22_21-08-47

预览2:

lala.im_2020-03-22_21-09-10

赞(5)

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2289 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 5772 个
  • 注册用户: 139 人
  • 访问总量: 8,662,550 次
  • 最近更新: 2024年3月27日