基于prometheus+grafana 搭建监控mysql redis mongodb等

简介:

写的比较粗糙。等整个项目上生产环境的时候,再补充完善这篇博文。


官方网站

https://prometheus.io/

https://github.com/prometheus

https://github.com/prometheus/mysqld_exporter

https://prometheus.io/docs/


参考文档:

http://www.cnblogs.com/sfnz/p/6566951.html

http://www.jb51.net/article/107386.htm

https://www.iamle.com/archives/2130.html



新建目录:

mkdir -p /root/prometheus

然后把prometheus、grafana的包都丢到这个目录下,这是我们的工作目录(当然生产环境下不要这个路径规划,建议生产环境下丢到/opt目录下去)。



编写用于安装mysqld_exporter的yml文件:

- hosts: 10.0.10.100
  tasks:
    - name: copy install file
      copy: src=files/mysqld_exporter-0.10.0.linux-amd64.tar.gz dest=/tmp/mysqld_exporter-0.10.0.linux-amd64.tar.gz
    - name: install mysqld_exporter
      shell: cd /tmp && tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /opt && cd /opt/mysqld_exporter-0.10.0.linux-amd64 && echo -e "[client]\nuser=prom\npassword=123456\nhost=$(/sbin/ip a|egrep "10.[0|1].[1-9]+.[1-9]+*" | awk '{print $2}'| cut -d '/' -f 1)" > .my.cnf && cd /opt/mysqld_exporter-0.10.0.linux-amd64 && nohup ./mysqld_exporter -config.my-cnf=".my.cnf" &

只要使用ansible批量推送这个软件到mysqld服务器兵启动即可开始采集数据了。


在mysql上加prom采集数据的授权:

#!/bin/bash
# 添加prom监控账号 以便mysqld_exporter 采集数据
# Date: 2017/08/01

source /etc/profile

MYSQLCMD="/usr/local/mysql/bin/mysql -uroot -p111111"

IP=$(ip a|egrep "10.[0|1].[1-9]+.[1-9]+*" | awk '{print $2}'| cut -d '/' -f 1)

# 只添加本机的prom账户,因此这里不写binlog 防止同步到从库去
$MYSQLCMD -e "set session sql_log_bin=OFF;grant process,replication client,select on *.* to 'prom'@'$IP' identified by '123456'; "



在prometheus.yml里面添加相关监控host,类似如下:

wKioL1mF1GOQGPc1AAAaypX0tR4866.png


然后,使用 ./prometheus 来启动prometheus。



然后浏览器访问prometheus的服务器的9090端口,即可打开一个web界面。切换到status---> Targets ,如果mysqld_exporter能正常工作的话,这里应该显示很多的up状态的主机。类似下图这种(图是我从线上截取的):

wKiom1mF1iXC8w5oAABUp19Sndg417.png



安装grafana:

vim  /root/prometheus/grafana-4.3.2/conf/defaults.ini 修改下面的地方:

[dashboards.json]

enabled = true 

path = /var/lib/grafana/dashboards


安装grafana的仪表盘:

git clone https://github.com/percona/grafana-dashboards.git

cp -r  grafana-dashboards/dashboards /var/lib/grafana


启动grafana-server:

cd /root/prometheus/grafana-4.3.2 

./bin/grafana-cli plugins install percona-percona-app

./bin/grafana-cli plugins install alexanderzobnin-zabbix-app

./bin/grafana-server

默认是监听在3000端口的。浏览器访问即可。默认用户名和密码都是admin。










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1949902,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
缓存 NoSQL 关系型数据库
MySQL 与 Redis 如何保证双写一致性?
我是小假 期待与你的下一次相遇 ~
925 7
|
12月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
9月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
922 6
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致 2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中 这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中 1. 使用MQ异步同步, 保证数据的最终一致性 我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 : 1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,
|
缓存 NoSQL 关系型数据库
Redis与MySQL的数据一致性
在高并发环境下,保持 Redis 和 MySQL 的数据一致性是一个复杂但重要的问题。通过采用读写穿透、写穿透、分布式锁、双写一致性保障和延时双删策略,可以有效地减少数据不一致的风险,确保系统的稳定性和可靠性。通过合理的缓存策略和数据同步机制,可以显著提升系统的性能和用户体验。
852 22
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
494 14
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
554 7
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
784 7

推荐镜像

更多