Prometheus+Grafana监控安装使用 (2)Prometheus+exporter+Grafana安装配置

一、环境配置

1.1 Java环境配置

  1. 建立文件夹
mkdir –p /usr/local/java
  1. 上传下载好的jdk1.8版本,解压到/usr/local/java
tar -zxvf ./jdk-8u171-linux-x64.tar.gz -C /usr/local/java
  1. 修改环境变量
vim /etc/profile
 
#在最后一行添加
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_161
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
 
  1. 退出编辑,使环境变量生效,查看版本信息
source /etc/profile
java -version

1.2 Go环境配置

  1. 下载地址:https://dl.google.com/go/go1.14.linux-amd64.tar.gz
  2. 上传到安装目录,解压到/usr/local/go
cd /opt/soft
tar zxvf go1.14.linux-amd64.tar.gz -c /usr/local/go
mv go1.14.linux-amd64 go1.14
  1. 配置go环境变量,需要root权限,修改profile文件
vim /etc/profile
#set go environment
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gocode
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

  1. 退出编辑,使环境变量生效,查看版本信息
source /etc/profile
go -version

二、安装Prometheus

2.1 Prometheus下载安装

  1. Prometheus下载地址:https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz
  1. 解压到/usr/local
tar xvfz prometheus-2.31.1.tar.gz -C /usr/local/prometheus
  1. 配置监控自己
cd /usr/local/prometheus
vim prometheus.yml
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"]

  1. 启动Prometheus
cd /usr/local/prometheus
./prometheus --config.file=prometheus.yml
  1. 打开 localhost:9090/metrics,验证 Prometheus 是否正在提供 metrics 服务。
  2. 配置系统服务启动Prometheus
vim /etc/systemd/system/prometheus.service 
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
Restart=always
[Install]
WantedBy=multi-user.target

系统启动方法:

systemctl start prometheus     #启动
systemctl status prometheus    #查看状态

查看local:9090
在这里插入图片描述

三、配置监控

3.1 Node_exporter下载安装

  1. 下载node_exporter并解压到/usr/local
cd /opt/soft
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar xvfz node_exporter-1.2.2.linux-amd64.tar.gz 
mv node_exporter-1.2.2.linux-amd64   /usr/local/node_exporter-1.2.2.linux-amd64
cd /usr/local/node_exporter-1.2.2.linux-amd64
  1. 向Prometheus的配置文件添加node监控对象
vim /usr/local/prometheus/prometheus.yml
#添加node监控
  - job_name: "node_exporter"
    static_configs:
      - targets: ["localhost:9100"]        #9100  Linux node duan
        labels:
            instance: node

  1. 启动node_exporter,并查看是否开启
cd /usr/local/node_exporter-1.2.2.linux-amd64
nohup ./node_exporter &
http://192.168.135.10:9100/metrics
  1. localhost:9090/targets查看监控状态:
    node_exporter监控

3.2 Mysql_exporter下载安装

需要安装mysql数据库,如果已安装可跳过2.2.1。

3.2.1 部署安装Mysql数据启动

  1. 检查有无安装mysql
rpm -qa|grep mysql
  1. 解压,重命名
tar -zxvf ./mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 
mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql-5.7.35
mv mysql-5.7.35 /usr/local/
  1. 检查mysql组和用户是否存在,如果没有则创建
cat /etc/group|grep mysql
groupadd mysql
useradd -r -g mysql mysql  #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
  1. 安装数据库,创建data目录。
cd  /usr/local/mysql-5.7.35 
mkdir data 
#将/usr/local/mysql-5.7.28的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql-5.7.35
# 在/usr/local/mysql-5.7.35/support-files目录下创建my_default.cnf
vim my_default.cnf
# mysql的安装目录
basedir =/usr/local/mysql-5.7.35
#设置mysql数据库的数据存放目录
datadir = /usr/local/mysql-5.7.35/data
#设置端口
port = 3306

socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /usr/local/mysql-5.7.35/data/mysqld.log
pid-file = /usr/local/mysql-5.7.35/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

拷贝,是否覆盖,是

cp my_default.cnf /etc/my.cnf
  1. 初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.35/ --datadir=/usr/local/mysql-5.7.35/data/
  1. 初始化完成之后查看日志
cat /usr/local/mysql-5.7.35/data/mysqld.log  #蓝框里的是临时密码
  1. 把启动脚本放到开机初始化目录
cp support-files/mysql.server /etc/init.d/mysql

启动mysql

service mysql start
或者
systemctl start mysql

进入mysql并更改密码

cd /usr/local/mysql-5.7.28

./bin/mysql -u root -p
mysql> set password=password('123456');

mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;

添加远程访问权限

mysql> use mysql;

mysql> update user set host='%' where user = 'root';

mysql> flush privileges;

7.设置mysql环境变量

#set mysqld enviroment
export MYSQL_HOME=/usr/local/mysql-5.7.35
export PATH=$PATH:$MYSQL_HOME/bin

3.2.2 部署安装Mysqld_exporter服务并启动

  1. 下载mysqld_exporter并解压到/usr/local
    下载地址:https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
cd /opt/soft
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.13.0/mysqld_exporter-0.13.0.linux-amd64.tar.gz
#或者上传到/opt/soft
tar zxvf mysqld_exporter-0.13.0.linux-amd64.tar.gz
mv mysqld_exporter-0.13.0.linux-amd64 /usr/local/mysqld_exporter-0.13.0.linux-amd64
  1. 配置数据库连接,创建用户并授权本地和远方登录访问登录MySQL,创建一个账号用于Prometheus监控获取数据。
    (1)登录mysql,创建数据库用户
mysql -uroot -p密码
CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
 #可查看主从运行情况查看线程,及所有数据库。
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
 FLUSH PRIVILEGES;

(2)在启动mysqld_exporter前需要配置好数据库信息,有2种实现方式:一个是将数据库信息写入到环境变量中,从而让exporter能读取到MySQL的信息;另一种是写入到一个配置文件中,在运行mysqld_exporter时指定该配置文件。这里推荐使用配置文件的形式,便于查阅,创建mysql配置文件、运行时可免密码连接数据库,创建my.cnf文件:

vim /usr/local/mysqld_exporter/my.cnf 
[client]
user=mysqld_exporter
password=123456

(2)向Prometheus的配置文件.yml添加mysql_exporter监控对象

  - job_name: "mysql_exporter"
    static_configs:
      - targets: ["localhost:9104"]        #9104 mysql_exporte端口号
        labels:
            instance: mysql1

(3)启动mysqld_exporter

nohup /usr/local/mysqld_exporter/mysqld_exporter  --config.my-cnf=/usr/local/mysqld_exporter/my.cnf &
ps -ef | grep mysqld_exporter  #检查进程的方式查看是否运行成功,如果没有运行成功就去掉nohup直接运行查看一下错误原因

(4)设置.mysqld_exporter.cnf文件的文件许可权

chown mysqld_exporter:mysqld_exporter /usr/local/mysqld_exporter/my.cnf
  1. 配置mysqld_exporter作为服务运行
    操作并配置一个systmed服务文件
[Unit]
Description= Prometheus MySQL Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=exporter
Type=simple
Restart=always
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
[Install]
WantedBy=multi-user.target                                         
  1. 启动系统服务
systemctl daemon-reload
systemctl enable mysqld_exporter
systemctl start mysqld_exporter

3.3 PostgreSQL_exporter下载安装

需要安装Post数据库,如果已安装可跳过2.3.1。

3.3.1 部署安装PostgreSQL数据启动

  1. 安装前添加用户和组
groupadd postgres
useradd -r -g postgres postgres
rpm -qa|grep PostgreSQL #查看有无按住Postgresql
  1. 下载安装postgresql
wget  wget https://ftp.postgresql.org/pub/source/v13.4/postgresql-13.4.tar.gz --no-check-certificate
tar -zxvf postgresql-13.4.tar.gz 
mv postgresql-13.4 /usr/local/postgresql-9.6.16

或者

yum install postgresql
  1. 下载依赖包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel  python-devel gcc-c++ openssl-devel cmake gcc* readline-devel
  1. 编译源码
cd /usr/local/postgresql-13.4
./configure --prefix=/pgsql
make 
make install
  1. 创建 postgresql 数据库的数据主目录并修改文件所有者这个数据库主目录是随实际情况而不同,这里我们的主目录是在/pgsql /data
 cd /pgsql

 mkdir data

 chown -R postgres1:postgres1 /pgsql

  1. 配置环境变量
  cd /home/postgres
  vim .bash_profile 

添加以下内容。

export PGHOME=/pgsql

export PGDATA=/pgsql/data

PATH=$PATH:$HOME/bin:$PGHOME/bin
source .bash_profile
  1. 切换用户到 postgres 并使用 initdb 初使用化数据库
 su - postgres1
 initdb 

在这里插入图片描述
9. 配置服务

cd /pgsql/postgresql/data 
vim postgresql.conf 
listen_addresses= '*'                       #允许所有的IP连接PG     

port= 5432                                     #开放5432端口       

vim pg_hba.conf 

在最后一行 ,添加如下内容,登录PG需要验证

host    all             all             0.0.0.0/0                 md5
  1. 设置 PostgreSQL 开机自启动。 PostgreSQL 的开机自启动脚本位于contrib/start-scripts 路径下,
cd /usr/local/postgresql-13.4/contrib/start-scripts
chmod a+x linux #修改Linux属性添加X可执行权限
  1. 复制 linux 文件到/etc/init.d 目录下,更名为postgresql
cp linux  /etc/init.d/postgresql

修改/etc/init.d/postgresql 文件的两个变量 prefix 和PGDATA

prefix=/pgsql

PGDATA="/pgsql/data"
  1. 设置开机自启动
/etc/init.d
chkconfig --add postgresql
chkconfig  

3.3.2 部署安装PostgreSQL_exporter服务并启动

  1. 下载PostgreSQL_exporter
cd /opt/software 
wget https://github.91chifun.workers.dev//https://github.com/wrouesnel/postgres_exporter/blob/v0.8.0/queries.yaml
wget https://github.91chifun.workers.dev//https://github.com/wrouesnel/postgres_exporter/releases/download/v0.8.0/postgres_exporter_v0.8.0_linux-amd64.tar.gz
  1. 解压移动
tar zxvf postgres_exporter_v0.8.0_linux-amd64.tar.gz
mv postgres_exporter_v0.8.0_linux-amd64/postgres_exporter /usr/local/postgres_exporter
mkdir /etc/postgres_exporter/
mv queries.yaml /etc/postgres_exporter/
chown -R postgres.postgres /etc/postgres_exporter/
  1. 创建system启动服务
vim /usr/lib/systemd/system/postgres_exporter.service
[Unit]
Description=postgres_exporter
Documentation=https://github.com/wrouesnel/postgres_exporter
After=network.target

[Service]
Type=simple
User=postgres
Environment="DATA_SOURCE_NAME=postgresql://postgres:123qwe!@#@localhost:5432/postgres?sslmode=disable"
ExecStart=/usr/local/postgres_exporter-0.1.0/postgres_exporter --log.level=error
#  --extend.query-path=quires.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 系统启动postgres_exporter服务
systemctl start postgres_exporter 
systemctl enable mysqld_exporter
  1. 向Prometheus的配置文件.yml添加postgres_exporter监控对象
  - job_name: "postgresql_exporter"
    static_configs:
      - targets: ["localhost:9187"]        #9187 postgresql_exporte端口号
        labels:
            instance: postgre

  1. 登录localhost:9090,localhost:9187
    在这里插入图片描述在这里插入图片描述

四、Grafana部署配置

4.1 Grafana下载安装

  1. Grafana下载地址
cd /opt/software
wget https://dl.grafana.com/oss/release/grafana-8.2.3-1.x86_64.rpm
  1. 配置插件免签署:在配置文件最下面添加插件免签署
vi /etc/grafana/grafana.ini
[plugins]
allow_loading_unsigned_plugins = simpod-json-datasource,alexanderzobnin-zabbix-datasource,grafana-piechart-panel
  1. 启动Grafana :
service grafana-server start

查看3000端口

ss -nlp|grep 3000

4.2 Grafana启动

  1. 在浏览器输入
localhost:3000
  1. 添加数据源
    在这里插入图片描述

  2. 添加Prometheus数据源
    在这里插入图片描述

  3. 建立Dashbord
    在这里插入图片描述

  4. 选择Prometheus2.0面板
    在这里插入图片描述

  5. 模板导入
    在这里插入图片描述

模板链接:
前往Grafana的官网下载Dashboard模板:https://grafana.com/grafana/dashboards

Greenplum https://grafana.com/grafana/dashboards/13822
PostgreSQL Statistics https://grafana.com/grafana/dashboards/6742
postgreSQL Databases https://grafana.com/grafana/dashboards/9628
Mysql-Prometheus https://grafana.com/grafana/dashboards/6239
Hadoop HDFS FSImage https://grafana.com/grafana/dashboards/12236
https://github.com/wrouesnel/postgres_exporter
https://github.com/wrouesnel/postgres_exporter/releases

参考:
https://www.jianshu.com/p/f6faf890b706
https://www.jianshu.com/p/92b5fb145126
https://fuckcloudnative.io/prometheus/3-prometheus/gettingstarted.html
http://itpcb.com/a/562827
从零开始学习Prometheus监控报警系统

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

研究数据的小学生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值