【Prometheus专题】2. Prometheus监控组件安装

本文档将介绍如何在CentOS7上安装prometheus各组件,包括prometheus本身,也有alertmanager
prometheus所在的机器配置要求也不是很高, 正常8c16g1T的机器足够了,硬盘上需要考虑的长远一些,你的监控数据要保留多久,我这边四套k8s集群(pod数量200+), 加上一些基础资源比如zookpeer、kafka、redis的监控数据,一个月能用磁盘300G,各位在申请机器时最好申请500G+的,如果你要用prometheus监控你的node节点,最好1T+吧,因为拉监控的历史数据,一般都1个月起。


各位请注意,我这边的数据盘挂载的目录是/srv; 如果你们的数据盘不是这个,请注意替换

Prometheus

下载并安装

下载地址: https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz

useradd -r -M -s /sbin/nologin   prometheus
mkdir -p /srv/app; mkdir -p /srv/{data,logs,backup}/prometheus
wget -c https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz
tar -zxf prometheus-2.22.0.linux-amd64.tar.gz
mv prometheus-2.22.0.linux-amd64 /srv/app/prometheus
chown -Rf prometheus:prometheus /srv/{app,data,logs,backup}/prometheus

添加服务启动

vim /etc/systemd/system/prometheus.service 
#写入以下内容
[Unit]
Description=Prometheus
After=network.target alertmanager.target    #如果不使用告警模块alertmanager,可以把alertmanager.target去掉

[Service]
Type=simple
User=prometheus
ExecStart=/srv/app/prometheus/prometheus \
          --web.listen-address=localhost:9090 \
          --web.external-url=http:///prometheus \
          --web.page-title=Prometheus  \
          --config.file=/srv/app/prometheus/prometheus.yml \
          --storage.tsdb.path=/srv/data/prometheus \
          --storage.tsdb.retention=90d \
          --web.enable-lifecycle
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动参数解析

  • --web.listen-address=localhost:9090 监听地址,建议监听本地,方便nginx代理+认证
  • --web.external-url=http:///prometheus 类似root_url; nginx代理时可以定义location
  • --web.page-title=Prometheus web界面的标题,这个根据自己的情况自定义
  • --config.file=/srv/app/prometheus/prometheus.yml 配置文件的路径
  • --storage.tsdb.path=/srv/data/prometheus prometheus的监控数据存放目录
  • --storage.tsdb.retention=90d 监控数据保留多少天
  • --web.enable-lifecycle 当 Prometheus 有配置文件修改,我们可以采用 Prometheus 提供的热更新方法实现在不停服务的情况下实现配置文件的重新加载。

设置开机启动

systemctl enable prometheus
systemctl start prometheus

Alertmanager

下载地址: https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz

下载安装

useradd -r -M -s /sbin/nologin   alertmanager
mkdir -p /srv/{data,logs,backup}/alertmanager
wget -c https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar -zxf alertmanager-0.21.0.linux-amd64.tar.gz
mv alertmanager-0.21.0.linux-amd64 /srv/app/alertmanager
chown -Rf alertmanager:alertmanager /srv/{app,data,logs,backup}/alertmanager

添加服务启动

vim /etc/systemd/system/alertmanager.service 
#写入以下内容
[Unit]
Description=Alertmanager
After=network.target

[Service]
Type=simple
User=alertmanager
ExecStart=/srv/app/alertmanager/alertmanager \
          --web.listen-address=localhost:9093 \
          --web.external-url=http://localhost/alertmanager \
          --config.file=/srv/app/alertmanager/alertmanager.yml \
          --storage.path=/srv/data/alertmanager
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动参数解析

  • --web.listen-address=localhost:9093 服务监听地址
  • --web.external-url=http://localhost/alertmanager 服务root_url
  • --config.file=/srv/app/alertmanager/alertmanager.yml 服务配置目录
  • --storage.path=/srv/data/alertmanager 服务数据存储目录

设置开机自启

systemctl enable alertmanager
systemctl start alertmanager

看到这里你会发现并没有服务配置上的修改就已经把服务给启动了,其实不受影响的,默认的配置也是可以正常启动服务的。下一篇再来讲解prometheus和alertmanager的配置。

Grafana

数据库配置

grafana比较特殊,虽然不需要外部数据库也是能够启动的,但是对于讲求备份来说是机器不安全和方便的;建议使用MySQL, 安装MySQL数据库的文档见: https://www.cnblogs.com/DevOpsTechLab/p/13581691.html ; 我这里就不再写一遍了

创建需要的数据库以及用户并授权访问

注意: 生产环境注意修改高强度密码, 但是不能有特殊字符,grafana对数据库密码特殊字符的支持程度不高(大坑!)

mysql>create database grafana;
mysql>grant all on grafana.* to 'grafana'@'%' identified by '12345678';    

grafana下载安装并配置

下载地址: https://dl.grafana.com/oss/release/grafana-7.2.1.linux-amd64.tar.gz

useradd -r -M -s /sbin/nologin   grafana
mkdir -p /srv/{data,logs,backup}/grafana
wget https://dl.grafana.com/oss/release/grafana-7.2.1.linux-amd64.tar.gz
tar -zxvf grafana-7.2.1.linux-amd64.tar.gz
mv grafana-7.2.1  /srv/app/grafana
chown -Rf grafana:grafana /srv/{data,logs,backup}/grafana

修改配置

vim  /srv/app/grafana/conf/defaults.ini
#修改以下配置
data = /srv/data/grafana
logs = /srv/logs/grafana
plugins = /srv/data/plugins
root_url = http:///grafana
type = mysql
host = 127.0.0.1:3306
name = grafana
user = grafana
password =12345678

添加服务启动

vim /etc/systemd/system/grafana.service 
#写入以下内容
[Unit]
Description=Grafana
After=network.target mysqld.target

[Service]
Type=simple
User=grafana
ExecStart=/srv/app/grafana/bin/grafana-server -homepath /srv/app/grafana
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

设置开机自启

systemctl enable grafana
systemctl start grafana

Nginx代理以上服务

server {
         listen       80;
         server_name  localhost;
         access_log    /var/log/nginx/access.log;
         error_log       /var/log/nginx/error.log;
         location /grafana/ {
              proxy_pass         http://localhost:3000/;
              #proxy_set_header   Authorization "";     #如果访问prometheus添加了http认证,建议增加这个配置
              proxy_set_header   Host               $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
         location /prometheus {
              proxy_pass         http://localhost:9090;
              proxy_set_header   Host                $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
         location /alertmanager {
              proxy_pass         http://localhost:9093;
              proxy_set_header   Host               $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
}

好了,到此,全部安装都结束了,配置上的问题,后面的篇章再讲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章