热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Promethus+Grafana方案实现MYSQl+LINUX+Windows监控

Promethus+Grafana方案-实现MYSQl+LINUX+Windows监控,Go语言社区,Golang程序员人脉社

一、Promethus简介

Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker 。
输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux 系统信息 (包括磁盘、内存、CPU、网络等等),具体支持的源看:https://github.com/prometheus
与其他监控系统相比,Prometheus的主要特点是:
一个多维数据模型(时间序列由指标名称定义和设置键/值尺寸)。
非常高效的存储,平均一个采样数据占~3.5bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G。

二、初步实现效果图

2.1、linux服务器监控效果

在这里插入图片描述

2.2、 mysql监控效果

在这里插入图片描述
3、windows监控效果
在这里插入图片描述

三、安装步骤

服务端安装:

3.1、安装go环境

安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 参考博客地址:https://www.runoob.com/go/go-environment.html 安装步骤: 1、下载二进制包:go1.13.8.linux-arm64.tar.gz。 2、将下载的二进制包解压至 /usr/local目录。

tar -zxvf go1.13.8.linux-arm64.tar.gz

3、将 /usr/local/go/bin 目录添加至PATH环境变量:

export PATH=$PATH:/usr/local/go/bin

3.2 、安装prometheus

1、下载地址: https://prometheus.io/download/ 2、安装步骤:

tar -zxvf prometheus-2.16.0.linux-amd64.tar.gz mv prometheus-2.16.0.linux-amd64 /usr/local/prometheus

3、修改配置文件,添加要监控节点
在里面写清楚监控节点的信息。注意此文件是yml文件,对格式要求很严格。
主机的9090端口是必须配置的,这是prometheus自带的web界面
9100是node_exporter的默认端口
9104是mysqld_exporter默认端口
在这里插入图片描述
配置详解参考是:https://www.cnblogs.com/afterdawn/p/9020129.html
启动promethus

nohup /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path="/data/prometheus" --storage.tsdb.retention=30d &

config.file:指定配置文件
storage.tsdb.path:指定监控数据存放目录
storage.tsdb.retention:指定保留30天监控数据
4、配置启动成功后,登入验证
在这里插入图片描述

四、安装客户端 node_exporter、mysqld_exporter、windows

4.1、node_exporter、mysqld_exporter下载地址:

https://prometheus.io/download/
安装window采集器下载地址,wmi_exporter-0.9.0-amd64.exe
https://github.com/martinlindhe/wmi_exporter/releases

4.1.2 实现linux服务器监控

1、安装命令

tar xvf node_exporter-1.0.0.linux-amd64.tar.gz mv node_exporter-0.16.0.linux-amd64 /usr/local/node_exporter

2、启动node_exporter命令,主要采集系统层面的监控数据:

nohup /usr/local/node_exporter/node_exporter &

3、在promethus.yml添加节点
在这里插入图片描述
4、重启promethus

nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &

5、验证是否成功
在这里插入图片描述

4.1.3 实现mysqld监控

1、上传安装包,解压

tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz

2、移动mysql包位置

mv mysqld_exporter-0.12.1.linux-amd64 /usr/local/mysqld_exporter

3、创建配置文件
[root@mydb1 ~]# cat /usr/local/mysqld_exporter/.my.cnf
[client]
host=192.168.1.101
user=mysql_monitor
password=mysql_monitor
其中.my.cnf通过vi新创建的
4、添加节点到promethus.yml
5、重启promerhus,启动命令:
nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &
6、验证是否成功(ip:9090)
在这里插入图片描述

4.1.4 实现Windows服务器监控

1、 #下载地址:https://github.com/martinlindhe/wmi_exporter/releases #选择最新msi文件下载安装即可。 通过访问http://ip+默认端口9182(如:http://localhost:9182) 出现下图,即代表安装采集数据成功。

在这里插入图片描述2、添加节点到Promethus.yml
在这里插入图片描述
3、重启promerhus,启动命令:

nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf="/usr/local/mysqld_exporter/.my.cnf" &

5、登入promethus验证是否成功

五、展示界面grafana

安装grafana步骤可以参考上一篇博客https://blog.csdn.net/kai172142xiang/article/details/102770394
1、登入garana后首先配置数据源
在这里插入图片描述
2、导入模板
解压grafana-dashboards包,该包中提供了大量的json格式文件的grafana dashboards,根据需要自行选择,
https://github.com/percona/grafana-dashboards

linux_overview-1531814759712.json

MySQL_Overview-1531814739662.json

MySQL_InnoDB_Metrics-1531814772539.json

MySQL_Replication-1531814749684.json

windows模板,根据自己需要选择,搜索栏选择windows:
https://grafana.com/grafana/dashboards/6545

六、附件脚本

找到一些启动Promethus,可以参考使用
https://github.com/lyb-geek/monitor-scrpit

七、下一步部署告警功能

如有错误,欢迎大家随时提出,感谢。

参考链接
https://www.cnblogs.com/allenhu320/p/11339089.html
https://blog.csdn.net/tiger199/article/details/90447149
https://www.cnblogs.com/Keep-Ambition/p/10644293.html


推荐阅读
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • 本文介绍了.hbs文件作为Ember.js项目中的视图层,类似于HTML文件的功能,并详细讲解了如何在Ember.js应用中集成Bootstrap框架及其相关组件的方法。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • Windows Phone 弹出窗口实现方案
    在当前版本的 Silverlight for Windows Phone 中,由于缺乏对 ChildWindow 的支持,开发者需要采用其他方法来实现弹出窗口的功能。本文将探讨几种有效的解决方案。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
author-avatar
背着单反看世界
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有