docker环境下Prometheus+Grafana+blackbox_exporter监控系统服务(上)

Docker环境下Prometheus+Grafana+blackbox_exporter监控系统服务

首先说下背景,由于生产系统不那么稳定,有时需要用户反馈来作为发现生产服务异常,作为尚有热血的IT从业人员,自然不看受辱,决定探索一下如果监控系统。

先上效果

关于选型:Zabbix,Prometheus,看了几篇文章,关于比较流行的开源监控系统主要集中在Zabbix和Prometheus,其中又以Prometheus呼声最高,对于一个对这方面经验不是很多的小小白来讲,呼声高意味着能够从更多的渠道获取帮助,微博,星球,论坛,社区等,所以我选择了Prometheus。

以下将分为几个步骤来讲解我是如何搭建的

  1. blackbox_exporter的安装
  2. Prometheus的获取和安装
  3. Prometheus的配置
  4. Grafana的获取安装

 这里给大家说个技巧,也是我在部署中深切体会到的,在查看教程的时候先把教程一下子看完,把需要开放的端口统计出来,一次性进行开放(或一次走流程审批),因为我用的是云服务EOS所以需要到管理端配置安全策略,所以每配置一次安全组就需要进行一次重启,如果正在运行的服务没有做enable,就需要自己手动启动,比较麻烦。

一 blackbox_exporter的安装

wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.14.0/blackbox_exporter-0.14.0.linux-amd64.tar.gz
tar -xvf blackbox_exporter-0.14.0.linux-amd64.tar.gz
mv blackbox_exporter-0.14.0.linux-amd64 /opt/blackbox/blackbox_exporter

查看安装是否成功,惯例--version

docker环境下Prometheus+Grafana+blackbox_exporter监控系统服务(上)_第1张图片

 

创建systemd服务,这里多亏一个博友的博客https://blog.csdn.net/weixin_34273479/article/details/92680400,

介绍了各个参数的意思

vi /lib/systemd/system/blackbox_exporter.service
[Unit]
Description=blackbox_exporter

[Service]
User=root
Type=simple
ExecStart=/opt/blackbox_exporter/blackbox_exporter/blackbox_exporter --config.file=/opt/blackbox_exporter/blackbox_exporter/blackbox.yml
Restart=on-failure

可以查看到该服务启动成功,如果启动失败,需要查看下service中是否有语病之类的。

二  Prometheus的安装

Prometheus是什么这不加赘余,想了解的可以通过度娘了解。

这里我已经安装了docker,没有安装的可以进行安装或者用其他安装方式

docker pull prom/prometheus
mkdir /opt/prometheus
cd /opt/prometheus
cat >prometheus.yml

prometheus.yml主要是用来配置prometheus从数据源怎么提取内容,我们可以先从网上找一个配置进行占位

global:
  scrape_interval:     60s
  evaluation_interval: 60s
 
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus
 

粘贴之后,ctrl+c,再次cat prometheus.yml已经能看到刚才粘贴到刚才创建的配置文件中。

启动prometheus,对的有了docker就是这么简单

docker run  -d \
  -p 9090:9090 \
  -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  \
  prom/prometheus

因为上文中我们配置的job是localhost:9090/,那我们就访问下这个地址吧localhost:9090/graph,这个时候如果访问localhost:9090/targets可能会有惊喜,这里的targets是否有点儿熟悉呢,不错,正是prometheus.yml中配置的targets.

 

docker环境下Prometheus+Grafana+blackbox_exporter监控系统服务(上)_第2张图片

 

 

有了上文的的docker安装prometheus,是不是觉得grafana安装也会比较简单呢?

是的,确实如此。

docker pull prom/grafana
mkdir /opt/grafana-storage
chmod 777 -R /opt/grafana-storage

docker运行grafana

docker run -d \
  -p 3000:3000 \
  --name=grafana \
  -v /opt/grafana-storage:/var/lib/grafana \
  grafana/grafana

上面设置的端口是3000,访问下localhost之后,就能看到grafana的登录界面,默认用户名密码admin/admin。

 

 

你可能感兴趣的:(k8s,docker,监控)