centos7安装prometheus+grafana

centos7安装prometheus+grafana

环境

环境centos7
官网下载地址 https://prometheus.io/download/

安装启动

下载安装包

[root@k8s-master01 ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.45.5/prometheus-2.45.5.linux-amd64.tar.gz

解压
[root@k8s-master01 software]# tar -zxf prometheus-2.45.5.linux-amd64.tar.gz -C /usr/local/

创建软链接
[root@k8s-master01 software]# ln -s /usr/local/prometheus-2.45.5.linux-amd64/ /usr/local/prometheus

创建服务

cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus 监控服务
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]

# 2. EnvironmentFile=-/etc/default/prometheus

# 3. 下面的内容是启动命令和启动参数,是一行
ExecStart=//usr/local/prometheus/prometheus --storage.tsdb.path=/usr/local/prometheus/data --web.enable-lifecycle --web.read-timeout=5m --storage.tsdb.retention=15d --web.max-connections=512 --query.timeout=2m --query.max-concurrency=20  --config.file=/usr/local/prometheus/prometheus.yml

KillSignal=SIGQUIT

Restart=always

RestartPreventExitStatus=1 6 SIGABRT

TimeoutStopSec=5
KillMode=process
PrivateTmp=true
LimitNOFILE=1048576
LimitNPROC=1048576

[Install]
WantedBy=multi-user.target
EOF

启动服务并设置自启

systemctl daemon-reload
systemctl enable –now prometheus

systemctl status prometheus

默认监听端口是9090
ss -ntal |grep 9090

添加环境变量
[root@k8s-master01 software]# ln -s /usr/local/prometheus/prometheus /usr/local/bin/
bash 刷新环境变量
查看启动参数
prometheus –help

--web.listen-address="0.0.0.0:9090"
配置监听地址和端口

--config.file=/etc/prometheus/prometheus.yml
指定配置文件

--storage.tsdb.path=/path/to/data
指定数据保存的目录,最后一级的目录(data)会自动创建

--web.enable-lifecycle
热加载配置,就是修改配置文件后,重新加载生效,而无需重启服务。

--web.read-timeout=5m
请求连接持续等待时长

--web.max-connections=512 
最大并发连接数

--storage.tsdb.retention=15d
采集的监控数据保留在内存或者磁盘中的最长时间
15-30天为宜

--query.timeout=2m
单次查询等待时长,超时中断本次查询

--query.max-concurrency=20
接受的最大并发查询数

《centos7安装prometheus+grafana》

配置文件

# 1 全局配置
global:
  scrape_interval: 15s # 将抓取间隔时间设置为每 15 秒一次。默认值为每1分钟一次。
  evaluation_interval: 15s # 规则重启评估的间隔时间设置为每隔15秒评一次。默认值为每1分钟一次。
  # scrape_timeout is set to the global default (10s).



# 2 告警管理器配置
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093
#~alertmanager的IP或者主机名:9093

# 3 告警规则配置,从哪里加载告警规则
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.

# 4 配置被监控对象
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9090"]

rule_files:告警规则配置

可以指定一个具体的文件,或者使用通配符匹配的文件路径,作为加载告警规则的路径。通常会用不同的目录名称区分不同的监控对象类型。

Prometheus第一次启动加载后评估一次规则,之后每隔evaluation interval指定的间隔时间对规则进行一次评估。

使用一个一个的Job方式进行管理,Job使用scrape_configs下面的job_name指定一个Job名称进行配置。会以标签job_name=:的方式被自动添加到其下面的所有被监控对象的每一
个指标数据中。

通常通过static configs配置项下的targets中的列表,称为静态文件的方式发现被监控对象。

labels可以配置向抓取到的每条指标数据中添加的自定义的标签。
对被监控对象抓取指标时,默认使用htp协议,URL使用metrics’

promtool检查配置文件

[root@k8s-master01 prometheus]# /usr/local/prometheus/promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: prometheus.yml is valid prometheus config file syntax

分离目标配置,单独成为一个文件,再设定的时间动态加载到配置文件中

scrape_configs:
    # Prometheus 自己
  - job_name: "prometheus"
    file_sd_config:
      - files:
          - /path/to/*sd.yml

./path/to/*sd.yml

- targets:
    - "localhost:9090"

web使用

查看指标有哪些
http://192.168.126.21:9090/metrics

《centos7安装prometheus+grafana》

当Prometheus抓取目标时,它会自动将一些标签附加到抓取的指标数据中,用于识别抓取的目标。

这些自动添加的标签是:
– job:配置文件中给被监控对象已配置作业名称。
– instance:配置文件中target列表中的:部分。

对于抓取的每个实例,Prometheus会添加如下的指标数据:
– up{job=”“,instance=”“}:1如果实例运行正常,即可访问,其值
为1,抓取失败则为0。对于实例可用性的监控非常有用
– scrape_duration_seconds{job=”“,instance=”“}:抓取个指
标的的特续时间,就是响应时间。
– scrape_samples_scraped{job=”“,instance=”“}:被监控对象暴
露出的指标总个数。
《centos7安装prometheus+grafana》

node-exporter监控Linux服务器

https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz

[root@k8s-worker02 tmp]# tar -zxf node_exporter-1.8.0.linux-amd64.tar.gz -C /usr/local/
[root@k8s-worker02 tmp]# cd /usr/local/
[root@k8s-worker02 local]# ln -s node_exporter-1.8.0.linux-amd64/ node_exporter

安装node-exporter服务

cat > /etc/systemd/system/node-exporter.service <<EOF
[Unit]
Description=The node-exporter 监控程序
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/node_exporter/node_exporter

KillSignal=SIGQUIT

Restart=always

RestartPreventExitStatus=1 6 SIGABRT

TimeoutStopSec=5
KillMode=process
PrivateTmp=true
LimitNOFILE=1048576
LimitNPROC=1048576

[Install]
WantedBy=multi-user.target
EOF

程序启动参数
– –web.11sten-address=:9111指定监听端口为任意主机地址的9111端口
– –collector.textfile.directory=/apps/exporterData指定可以从目录
/apps/exporterData中读取通过其他脚本程序获取的监控数据
– -collector.filesystem.mount-points-exclude=正则表达式不监控正则表达式中的挂载,点。

启动程序并设置自启

systemctl daemon-reload
systemctl enable --now node-exporter

默认监听9100

修改Prometheus的配置文件
按job分组,21,22是一组,23是单独的一组

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090","192.168.126.22:9100"]

  - job_name: "shagnhai"
    static_configs:
      - targets:
          - 192.168.126.23:9100

《centos7安装prometheus+grafana》

配置好了23,22还没有配置,所以是down
《centos7安装prometheus+grafana》

Grafana-部署数据可视化

Grafana安装

yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.3-1.x86_64.rpm

速断慢的话下载下来再安装
yum install -y grafana-enterprise-10.0.3-1.x86_64.rpm

#启动并设置开机自启
systemctl enable --now grafana-server

### Grafana配置
默认配置文件位置,不建议修改
/usr/share/grafana/conf/defaults.ini

自定义配置文件位置
/etc/grafana/grafana.ini

#表示注释
;表示注释选项

数据:var/lib/grafana/
日志:var/log/grafana//

默认端口是3000
用户名密码都是admin,输入后再次设置密码

《centos7安装prometheus+grafana》

《centos7安装prometheus+grafana》

Grafana配置中文

配置中文界面,编辑配置文件,添加默认语言为中文

;default_language = en-US
# 设置默认语言为中文
default_language = zh-Hans

vim /etc/grafana/grafana.ini
systemctl restart grafana-server.service

《centos7安装prometheus+grafana》

Grafana添加prometheus数据源

添加数据源,这变添加Prometheus
《centos7安装prometheus+grafana》

《centos7安装prometheus+grafana》
《centos7安装prometheus+grafana》

仪表盘需要导入展示模板,可以到官方找和自定义,根据不同数据,定义不同的展示方式

官网查找 https://grafana.com/grafana/dashboards/
《centos7安装prometheus+grafana》
导入模板有三种方法,分别是导入json文件,导入json内容,输入模板编号(需要联网)

《centos7安装prometheus+grafana》
输入16098,点击load即可

《centos7安装prometheus+grafana》

《centos7安装prometheus+grafana》

《centos7安装prometheus+grafana》

参考

1-云原生监控体系-Prometheus架构解析和部署配置

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注