prometheus+grafana+node_exporter+alertmanager监控主机及报警
安装prometheus
$ wget https://github.com/prometheus/prometheus/releases/download/v2.11.1/prometheus-2.11.1.linux-amd64.tar.gz
$ tar xzvf prometheus-2.11.1.linux-amd64.tar.gz
$ mv prometheus-2.11.1.linux-amd64 /usr/local/prometheus
$ cd /usr/local/prometheus
$ ./prometheus --version
prometheus, version 2.11.1 (branch: HEAD, revision: e5b22494857deca4b806f74f6e3a6ee30c251763)
build user: root@d94406f2bb6f
build date: 20190710-13:51:17
go version: go1.12.7
- 编辑prometheus配置文件
prometheus默认配置文件在prometheus目录下,文件名为prometheus.yml,默认配置文件内容如下:
$ cat /usr/local/prometheus/prometheus.yml
# Prometheus全局配置项
global:
scrape_interval: 15s # 设定抓取数据的周期,默认为1min
evaluation_interval: 15s # 设定更新rules文件的周期,默认为1min
scrape_timeout: 15s # 设定抓取数据的超时时间,默认为10s
external_labels: # 额外的属性,会添加到拉取得数据并存到数据库中
monitor: 'codelab_monitor'
# Alertmanager配置
alerting:
alertmanagers:
- static_configs:
- targets: ["localhost:9093"] # 设定alertmanager和prometheus交互的接口,即alertmanager监听的ip地址和端口
# rule配置,首次读取默认加载,之后根据evaluation_interval设定的周期加载
rule_files:
- "alertmanager_rules.yml"
- "prometheus_rules.yml"
# scape配置
scrape_configs:
- job_name: 'prometheus' # job_name默认写入timeseries的labels中,可以用于查询使用
scrape_interval: 15s # 抓取周期,默认采用global配置
static_configs: # 静态配置
- targets: ['localdns:9090'] # prometheus所要抓取数据的地址,即instance实例项
- 创建新用户运行prometheus,家目录为/var/lib/prometheus,用作存放prometheus的数据。
$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
$ vim /lib/systemd/system/prometheus.service
[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/data \
--web.enable-admin-api \
--web.enable-lifecycle
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
$ mkdir /var/lib/prometheus/data
$ systemctl daemon-reload
$ systemctl start prometheus
$ systemctl status prometheus
$ netstat -lnpt|grep 9090
- 访问自带的web
prometheus自带web界面,可以查看表达式搜索结果、报警配置、prometheus配置、exporter信息等。web界面默认为 http://ip:9090。
![](https://i-blog.csdnimg.cn/blog_migrate/5e21b7037443e6aafd77b4916fc3d7d1.png)
也可以访问http://ip:9090/metrics,查看默认抓取的数据。
![](https://i-blog.csdnimg.cn/blog_migrate/a5d7f4ac49d888ab56a75cd950f16a15.png)
上面就是简单启动Prometheus,prometheus启动时还有一些启动选项。
- Prometheus相关启动选项
–config.file 指定启动的配置文件。 例: --config.file=“prometheus.yml”
–web.listen-address 指定监听ip及端口。 例:–web.listen-address=“0.0.0.0:9090”
–web.enable-admin-api