专业的SQL Server、MySQL数据库同步软件

\俗话说,没有监控的系统实在是横行,良好的监控是运维人员的第三只手和第三只眼。本文将使用Prometheus和Grafana构建一个监视系统来监视主机和数据库(MySQL,Redis)。

1.安装Grafana

Grafana是具有非常漂亮的图表和布局显示,功能齐全的测量仪表板和图形编辑器的可视化面板(仪表板),支持Graphite,zabbix,InfluxDB,Prometheus其他数据源。

1.1下载并安装

下载地址:https://grafana.com/grafana/download

grafana 监控 java 看板 grafana监控mysql_grafana监控多主机mysql

>

选择最新版本以按照网站的提示安装和运行脚本(如果您无法访问监视服务器,则监视服务器必须能够访问外部网络。外部网络,您可以与我交流如何快速离线部署)。

运行以下脚本

wget https:// dl.grafana.com/oss/release/grafana-6.3.3-1.x86_64.rpm

sudo yum localinstall grafana-6.3。 3-1.x86_64.rpm

1.2 \\开始grafana

安装完成后,默认情况下会安装grafana服务,配置文件为/etc/grafana/grafana.ini,如果需要修改路径和端口,可以在此文件中进行修改

grafana 监控 java 看板 grafana监控mysql_redis_02

开始grafana

/etc/init.d/grafana-server start

1.3 \\ n登录到grafana

\访问页面http://服务器IP:3000,默认帐户,密码admin/admin首次登录时,系统会提示您更改密码,建议您进行修改

grafana 监控 java 看板 grafana监控mysql_mysql_03

2.\安装Prometheus

2.1 Prometheus主程序安装

\ Prometheus主程序,主要负责存储,爬网,聚合,查询

您可以登录官方网站下载,官方网站下载地址:https://prometheus.io/download/

根据操作系统类别选择要下载的文件,这次已部署在linux上

grafana 监控 java 看板 grafana监控mysql_grafana 监控 java 看板_04

wget https:// github.com/prometheus/prometheus/版本/下载/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz

焦油-zxvf prometheus-2.12。 0.linux-amd64。 焦油.gz

2.2 \\ n启动主要的普罗米修斯程序

可以通过以下方法启动生产环境

没事/prometheus--config。 文件 = prometheus.yml--web.enable-lifecycle--storage.tsdb.retention。 时间 = 60d \

其他参数和配置可以在prometheus.yml中进行调整

3.\在要监视的计算机上部署导出器

3.1; 监视linux主机

下载node_exporter监视linux主机,仍从官方网站

下载

wget https:// github.com/prometheus/node_exporter/版本/下载/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

焦油-zxvf node_exporter-0.18。 1.linux-amd64。 焦油.gz

您可以默认启动它

cd node_exporter-0.18。 1.linux-amd64

没事/node_exporter \

3.2 \\ n监视MySQL

3.2.1下载

\下载监视MySQL的mysqld_exporter ,仍从官方网站

下载

grafana 监控 java 看板 grafana监控mysql_grafana 监控 java 看板_05

wget https:// github.com/prometheus/mysqld_exporter/版本/下载/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz

tar-zxvf mysqld_exporter-0.12。 1.linux-amd64。 焦油.gz

3.2.2监视帐户并修改文件配置

在MySQL中配置MySQL监视帐户

mysql \ gt; 创建 用户 " mysql_monitor " @ " 本地主机 "通过标识为通过" mysql_monitor " ; mysql \ gt; GRANT 复制客户端,过程ON *。 * TO " mysql_monitor " @ @ " 本地主机 " ;

mysql \ gt; GRANT SELECT 开启 performance_schema。 * TO " mysql_monitor " @ " localhost " ;

修改配置文件

cd mysqld_exporter-0.12。 0.linux-amd64

vim.my.cnf [客户]

端口 = 3306 用户 = mysql_monitor

密码 = mysql_monitor

3.2.3启动监视脚本

nohup =.my.cnf \

3.3 \\ n监控redis

\ 3.3.1下载redis_exporter

官方网站上没有redis_exporter,可以从github获得。另外,不需要将redis插件放置在redis机器上。

wget https:// github.com/oliver006/redis_exporter/版本/下载/v0.30.0/redis_exporter-v0.30.0.linux-amd64.tar.gz

焦油-zxvf redis_exporter-v0。 30.0.linux-amd64。 焦油.gz

3.3.2启动redis_exporter

没事/redis_exporter-redis.addr = 192.168。 56.118:6379-web.listen-address 0.0。 0.0:9121 \

没事/redis_exporter-redis.addr = 192.168。 56.118:6479-redis.password 123456-web.listen-address 0.0。 0.0:9122 \

4。配置prometheus配置文件

4.1添加每个监视项目

配置文件可以有多种配置方法,可以根据不同的分类和习惯进行配置。您可以参考以下配置

#我的全局配置

全球:

scrape_interval:15s#设置刮擦间隔为每15秒。默认值为每1分钟。

Evaluation_interval:15s#每15秒评估一次规则。默认值为每1分钟。

#scrape_timeout设置为全局默认值(10秒)。

#Alertmanager配置

提醒:

警报管理员:

-static_configs:

-目标:

#-警报经理:9093
#一次加载规则,并根据全局" evaluation_interval"定期评估它们。
rule_files:
#-" first_rules.yml"
#-" second_rules.yml"
#包含仅一个要刮擦的端点的刮擦配置:
#这里是Prometheus本身。
scrape_configs:
#作业名称被添加为标签`job = \ lt; job_name \ gt; 从该配置中刮取到的任何时间序列。
-job_name:"普罗米修斯"
#metrics_path默认为"/metrics"
#scheme默认为" http"。
static_configs:
-targets:["本地主机:9090"]
-job_name:"操作系统"
#metrics_path默认为"/metrics"
#scheme默认为" http"。
static_configs:
-targets:[" 192.168.56.114:9100"]
标签:
实例:" 192.168.56.114"
-targets:[" 192.168.56.116:9100"]
标签:
实例:" 192.168.56.116"
-targets:[" 192.168.56.117:9100"]
标签:
实例:" 192.168.56.117"
##以上作业单独用于主机监视,每个主机的实例不同
-job_name:" mysql"
#metrics_path默认为"/metrics"
#scheme默认为" http"。
static_configs:
-targets:[" 192.168.56.116:9104"]
标签:
实例:" 192.168.56.116"
-targets:[" 192.168.56.117:9104"]
标签:
实例:" 192.168.56.117"
##上面是监视mysql,该实例与主机实例相同
-job_name:" redis"
#metrics_path默认为"/metrics"
#scheme默认为" http"。
static_configs:
-targets:[" 192.168.56.118:9121','192.168.56.118:9122"]
标签:
实例:" 192.168.56.118"
-targets:[" 192.168.56.118:9100"]
标签:
实例:" 192.168.56.118"
#与上面类似,redis主机和每个redis监视项组合在一起,并且实例使用相同的
4.2 \\ n启动或热加载普罗米修斯
没事/prometheus--config。 文件 = prometheus.yml--web.enable-lifecycle--storage.tsdb.retention。 时间 = 60d \
curl -X POST http:// ip:9090/-/重新加载

5.5.配置每个监控仪表板

5.1 \下载每个监控仪表板

以上模板可在grafana官方网站上找到,您可以根据需要下载相应的模板,相应的地址为https://grafana.com/grafana/dashboards

找到相应的仪表板模板并下载

\

grafana 监控 java 看板 grafana监控mysql_mysql_06

5.2 \\ n配置数据源

这次使用了所有普罗米修斯数据源,因此请配置普罗米修斯数据源

如果以前未在grafana上配置数据源,则登录后将提示您创建数据源

grafana 监控 java 看板 grafana监控mysql_grafana 监控 java 看板_07

\选择普罗米修斯

\

grafana 监控 java 看板 grafana监控mysql_redis_08

配置普罗米修斯地址

最后保存\测试

5.3导入仪表板

导入在5.1中下载的模板

grafana 监控 java 看板 grafana监控mysql_redis_09

导入

修改名称和数据源

仅导入

5.4配置完成后,您可以查看监视状态

主机监视如下

grafana 监控 java 看板 grafana监控mysql_mysql_10

MySQL

\

grafana 监控 java 看板 grafana监控mysql_grafana监控多主机mysql_11

Redis

grafana 监控 java 看板 grafana监控mysql_grafana监控多主机mysql_12

\如果需要其他监控项目,也可以自定义其他项目

grafana 监控 java 看板 grafana监控mysql_grafana 监控 java 看板_13