mkdir -p /ups/app/monitor/ # 解压 tar -xf prometheus-2.17.0.linux-amd64.tar.gz -C /ups/app/monitor/ # 重命名目录 cd /ups/app/monitor/ mv prometheus-2.17.0.linux-amd64 prometheus # 创建目录 mkdir -p {bin,logs,rules,config,data} # 创建用户 groupadd -g 2000 prometheus useradd -u 2000 -g prometheus -c "Prometheus Server" prometheus # 修改目录属主 chown -R prometheus.prometheus /ups/app/monitor/prometheus # 重构目录结构 cd /ups/app/monitor/prometheus mv prometheus promtool tsdb bin/ mv prometheus.yml config/ # 配置服务启动项 cat > /usr/lib/systemd/system/prometheus.service <<-EOF [Unit] Description=https://prometheus.io After=network.target After=postgresql-12.service mysql3308.service mysql.service [Service] User=prometheus Group=prometheus Type=simple Restart=on-failure # WorkingDirectory=/ups/app/monitor/prometheus/ # RuntimeDirectory=prometheus # RuntimeDirectoryMode=0750 ExecStart=/ups/app/monitor/prometheus/bin/prometheus --config.file=/ups/app/monitor/prometheus/config/prometheus.yml --storage.tsdb.retention=30d # Sets open_files_limit LimitNOFILE=10000 TimeoutStopSec=20 [Install] WantedBy=multi-user.target EOF # 检查并重新加载配置文件 ./bin/promtool check config config/prometheus.yml # 启动服务 ./bin/prometheus --config.file=config/prometheus.yml 或 # 加载服务 systemctl daemon-reload systemctl enable prometheus.service systemctl start prometheus.service systemctl stop prometheus.service systemctl status prometheus.service # 打开Web界面,默认端口9090 http://192.168.10.181:9090
# 创建用户 groupadd -g 2000 prometheus useradd -u 2000 -g prometheus -c "Prometheus Server" prometheus # 解压文件 mkdir -p /ups/app/monitor/ tar -xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /ups/app/monitor/ # 重命名目录 cd /ups/app/monitor/ mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter # 修改目录属主 chown -R prometheus.prometheus /ups/app/monitor/mysqld_exporter # 待监控MySQL上创建用户 CREATE USER ‘exporter‘@‘localhost‘ IDENTIFIED BY ‘exporter‘; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO ‘exporter‘@‘localhost‘; CREATE USER ‘exporter‘@‘192.168.10.%‘ IDENTIFIED BY ‘exporter‘; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO ‘exporter‘@‘192.168.10.%‘; flush privileges; # 配置mysql客户端账号密码文件 cat > /ups/app/monitor/mysqld_exporter/.my.cnf <<EOF [client] user=exporter password=exporter port=3308 socket=/ups/app/mysql/mysql3308/logs/mysql3308.sock host=localhost EOF chmod 400 /ups/app/monitor/mysqld_exporter/.my.cnf chown prometheus:prometheus /ups/app/monitor/mysqld_exporter/.my.cnf # 配置服务文件 cat > /usr/lib/systemd/system/mysql_exporter.service <<-EOF [Unit] Description=https://prometheus.io After=network.target After=postgresql-12.service mysql3308.service mysql.service [Service] User=prometheus Group=prometheus Restart=on-failure # ExecStart=/ups/app/monitor/mysqld_exporter/mysqld_exporter --config.my-cnf=/ups/app/monitor/mysqld_exporter/.my.cnf ExecStart=/ups/app/monitor/mysqld_exporter/mysqld_exporter -config.my-cnf=/ups/app/monitor/mysqld_exporter/.my.cnf -collect.info_schema.processlist -collect.info_schema.innodb_tablespaces -collect.info_schema.innodb_metrics -collect.perf_schema.tableiowaits -collect.perf_schema.indexiowaits -collect.perf_schema.tablelocks -collect.engine_innodb_status -collect.perf_schema.file_events -collect.info_schema.processlist -collect.binlog_size -collect.info_schema.clientstats -collect.perf_schema.eventswaits [Install] WantedBy=multi-user.target EOF # 启动服务 systemctl daemon-reload systemctl restart mysql_exporter.service systemctl status mysql_exporter.service 或 # 启动客户端 ./mysqld_exporter --config.my-cnf=/ups/app/monitor/mysqld_exporter/.my.cnf # 默认端口:9104
# 配置prometheus.yml文件 cat >> /ups/app/monitor/prometheus/config/prometheus.yml <<-EOF - job_name: ‘MySQL‘ static_configs: - targets: [‘progs:9104‘,‘192.168.10.181:9104‘] EOF # 检查并重新加载配置文件 ./bin/promtool check config config/prometheus.yml # 重启服务 systemctl restart prometheus
需要安装node_exporter
# 创建用户 groupadd -g 2000 prometheus useradd -u 2000 -g prometheus -c "Prometheus Server" prometheus # 解压文件 mkdir -p /ups/app/monitor/ tar -xf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz -C /ups/app/monitor/ # 重命名目录 cd /ups/app/monitor/ mv node_exporter-1.0.0-rc.0.linux-amd64 node_exporter # 修改目录属主 chown -R prometheus.prometheus /ups/app/monitor/node_exporter # 配置服务文件 cat > /usr/lib/systemd/system/node_exporter.service <<-EOF [Unit] Description=https://prometheus.io After=network.target [Service] User=prometheus Group=prometheus Restart=on-failure ExecStart=/ups/app/monitor/node_exporter/node_exporter [Install] WantedBy=multi-user.target EOF # 启动服务 systemctl daemon-reload systemctl restart node_exporter.service systemctl status node_exporter.service 或 # 启动客户端 ./node_exporter Prometheus监控主机 # 配置prometheus.yml文件 cat >> /ups/app/monitor/prometheus/config/prometheus.yml <<-EOF - job_name: ‘Host‘ static_configs: - targets: [‘progs:9100‘] EOF # 检查并重新加载配置文件 ./bin/promtool check config config/prometheus.yml # 重启服务 systemctl restart prometheus # 默认端口:9100
mkdir -p /ups/app/monitor/ # 解压 tar -xf grafana-6.7.1.linux-amd64.tar.gz -C /ups/app/monitor/ # 重命名目录 cd /ups/app/monitor/ mv grafana-6.7.1 grafana # 创建用户 groupadd -g 2001 grafana useradd -u 2001 -g grafana -c "Grafana Server" grafana # 修改目录属主 chown -R grafana.grafana /ups/app/monitor/grafana # 配置服务启动项 cat > /usr/lib/systemd/system/grafana.service <<-EOF [Unit] Description=Grafana instance Documentation=http://docs.grafana.org Wants=network-online.target After=network-online.target After=After=postgresql-12.service mysql3308.service mysql.service [Service] # EnvironmentFile=/etc/sysconfig/grafana-server User=grafana Group=grafana Type=notify Restart=on-failure WorkingDirectory=/ups/app/monitor/grafana RuntimeDirectory=grafana RuntimeDirectoryMode=0750 # ExecStart=/ups/app/monitor/grafana/bin/grafana-server # --config=\${CONF_FILE} # --pidfile=\${PID_FILE_DIR}/grafana-server.pid # --packaging=rpm # cfg:default.paths.logs=\${LOG_DIR} # cfg:default.paths.data=\${DATA_DIR} # cfg:default.paths.plugins=\${PLUGINS_DIR} # cfg:default.paths.provisioning=\${PROVISIONING_CFG_DIR} ExecStart=/ups/app/monitor/grafana/bin/grafana-server LimitNOFILE=10000 TimeoutStopSec=20 [Install] WantedBy=multi-user.target EOF # 启动服务 /ups/app/monitor/grafana/bin/grafana-server & 或 # 加载服务 systemctl daemon-reload systemctl enable grafana.service systemctl start grafana.service systemctl stop grafana.service systemctl restart grafana.service systemctl status grafana.service # 打开Web界面,默认端口3000 (默认账号/密码:admin/admin) http://192.168.10.181:3000
-- MySQL监控面板
原文:https://www.cnblogs.com/binliubiao/p/12576930.html