安装Grafana

$ cd /root

Redhat & Centos(64 Bit)

$ wget dl.grafana.com/oss/rele

$ yum localinstall grafana-5.4.2-1.x86_64.rpm

下载zabbix & 其他插件

查看zabbix插件是否存在于grafana-cli工具内:

$ grafana-cli plugins list-remote | grep Zabbix

PS: id: alexanderzobnin-zabbix-app version: 3.9.1(存在,版本为3.9.1)

$ grafana-cli plugins install alexanderzobnin-zabbix-app

#安装图形的饼状插件

$ grafana-cli plugins install grafana-piechart-panel

#安装其他图形插件

$ grafana-cli plugins install grafana-clock-panel

#钟表形展示

$ grafana-cli plugins install briangann-gauge-panel

#字元型展示

$ grafana-cli plugins install natel-discrete-panel

#伺服器状态

$ grafana-cli plugins install vonage-status-panel

启动Grafana

$ systemctl daemon-reload

$ systemctl restart grafana-server

$ systemctl status grafana-server

Grafana服务配置文件

在其定义了许多配置选项,通常位于Linux系统中的/etc/grafana/grafana.ini。

在这个配置文件中,可以更改默认管理密码、http埠、grafana资料库(sqlite 3、MySQL、Postgres)、身份验证选项(Google、GitHub、LDAP、auth代理)以及许多其他选项。启动您的Grafana伺服器。与您的管理用户登录(默认管理/管理)。打开侧菜单(单击顶部菜单中的Grafana图标),头部到数据源并添加数据源。

登录Grafana服务首页

在浏览器上输入http://localhost(安装格拉法纳服务主机的IP):3000,账号:密码--admin:admin

第二界面是建议修改登录密码(可跳过->skip):

成功登陆格拉法纳的首页

添加ZABBIX的数据源到Grafana

Grafana默认没有zabbix作为数据源,所以我们需要手动给zabbix安装一个插件,然后再添加进Grafana即可,非常简单,下面开始配置。

· Data Source — 数据源

· Grafana支持多种不同的时序资料库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。

· 目前官方支持了如下几种数据源:

Graphite

InfluxDB

OpenTSDB

Prometheus

Elasticsearch

CloudWatch

点击左侧菜单栏->齿轮->plugins(插件)

可在plugins插件页上看见zabbix插件:

在Read me 上显示zabbix插件的版本是3.9.1

点击config->enable使用该插件:

在Dashboards(仪表盘),已经插件内置的「模板」(待会查看):

添加zabbix插件完毕,可在首页左侧显示zabbix插件的快捷按钮

新建数据源Add data source(数据源)

点击左侧菜单栏->齿轮->data sources->add data source->zabbix

Zabbix的API地址为「http://localhost(zabbix server的IP地址)/zabbix/api_jsonrpc.php」,其中IP的安装zabbix-server的伺服器IP

Zabbix API允许以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。

它广泛用于:

1、创建新的应用程序以使用Zabbix

2、将Zabbix与第三方软体集成

3、自动执行常规任务

4、Zabbix API是基于Web的API,作为Web前端的一部分提供。

5、它使用JSON-RPC 2.0协议,这意味著两件事:该API包含一组独立的方法;

客户端和API之间的请求和响应使用JSON格式进行编码。调用api的过程:发送一个http请求,请求方法,提交数据,请求url

Zabbix的API账号密码就是Zabbix的Web端登录账号和密码,账号:admin, 密码zabbix

新建数据源完毕

点击左侧菜单栏->zabbix->Zabbix server dashboard(zabbix伺服器仪表盘)

Dashboards list:这个模块是用来展示页面列表用的。举个例子,如果一个监控系统中,涉及到了多个页面展示监控图表,就会用到这个功能,这个模块会列出你需要展示的页面的列表,方便在当前页面中,快速的切换到其他监控页面。

显示各种监控数据图形

监控模板

添加模板就是定义一些变数,然后在制作图形的过程中可以引用这些变数来达到模板的功效。这个template并不是指grafana提供了一个模板,而是提供了参数功能,就相当于一个宏变数,这个宏变数的值是和datasource级联的(参数背后其实就是一个查询语句,数据源内容发生变化,利用该参数获取到的数据就会级联发生变化)。

新建仪表盘

点击->图形->home

点击左上角->New dashboard

使用Panel(无使用模板)

点击->齿轮

设置仪表盘名称:

下面以zabbix数据源为例,讲解templete的使用。

先来看下template的使用和效果

这是我创建的一个panel,用来展示cpu system time:

添加模板的变数(使用模板)

点击variables

温馨提示:如果是针对某一个主机群组的模板,group的Query可以不需填写*,可以直接写明组名。比如:

group

Query:DB资料库伺服器

host

Query:$group.*

application

Query: $group.$host.*

iteams

Query: $group.$host.$application.*

同样是获取一个监控项的数据,我现在换一种方式,红框中的四个值我全部替换成template,其实就是四个变数。

显示效果和为使用无模板的panel一致,在其他仪表盘也可以使用该变数:

添加图表格/曲线图显示

即变数设置完成后,就可以设置图形,将之前所有添加的图形,下面的组,主机,application,iteam都可以用变数来表示。

点击图表状的按钮->graph: (选择一款图形类型,如下选择"Graph"。(磁碟和内存的监控图类型可以选择"Pie Chart"饼状类型)

选定图形指定的组、主机、应用集、监控项:

给监控图形设置名称:

设置度量值(当我们需要为某个系统某个服务做监控、做统计,就需要用到Metrics)

· Grafana使用JavaScript正则表达式来实现。例如,如果需要显示的CPU时间(用户、系统、iowait,等等)你可以使用正则表达式在项栏位创建图:/CPU (?!idle).* time/

· 使用正则表达式对不同主机的相同监控项进行比较,使用/.*/表示匹配全部,/^salt/匹配以salt开头的选项,以所有主机显示CPU system time为例:

· 显示图表的图例(数值和单位) :

CPU for server and agent图表设置完成:

添加饼图显示

选择PIE CHART:

设置监控主机和监控的项目:

成功显示饼图:

添加表格显示

选择table:

设置表格名称:

设置监控主机和监控的项:

设置选项:

成功显示表格:

Zabbix+Grafana监控mysql

Zabbix-agent客户端设置

在/usr/local/zabbix/scripts目录下上次mysql的监控脚本

赋予脚本权利和设置所属者和所属组:

$ chmod u+x /usr/local/zabbix/scripts/chk_mysql.sh

$ chown -R zabbix.zabbix /usr/local/zabbix/scripts/chk_mysql.sh

修改zabbix_agentd.conf

$ vim /usr/local/zabbix/etc/zabbix_agentd.conf

增加下面三行脚本

$ UserParameter=mysql.version,mysql -V

$ UserParameter=mysql.status,/usr/local/zabbix/scripts/chk_mysql.sh $1

$ UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -P3306 -h127.0.0.1 ping | grep -c alive

注意修改埠用户名密码

在MySQL资料库添加zabbix用户

mysql>GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO [email protected] IDENTIFIED BY zabbix;

mysql> flush privileges;

重启zabbix_agentd服务

$ /etc/init.d/zabbix_agentd restart

Zabbix Server端测试

解决方法:

$ vim /etc/my.cnf

[mysqladmin]

user=zabbix

password=zabbix

重启mysql

$ /etc/init.d/mysqld restart

再次测试

Zabbix Server配置监控

添加zabbix_agent的监控模板->Template DB Mysql

可在zabbix server的「图形」中显示mysql监控图形

Grafana配置

选择新建一个表格graph

点击->edit(编辑)

选择监控项

修改编题

Grafana呈现mysql的监控图形

最终效果图

回看监控情况

可将监控图形的过去时刻倒回,查看图形日志:

测试报警功能

编辑/etc/grafana/grafana.ini配置文件:

重启grafana服务

$ systemctl restart Grafana.service

所选的邮件应用要开启smtp服务

点击左侧->铃铛->选择notification channels

显示新建的报警设置:

Zabbix插件不支持任何第三方报警功能(已测试)

设置为,我们点击->send test

收到了grafana官方发过来的告警测试软体:

监控网站延时率 & 判断网站的联通性

特别是对使用CDN网路的网站监控很有帮助

下载world-APP 插件

$ grafana-cli plugins install raintank-worldping-app

重启grafana服务使配置生效

$ systemc tl restart grafana-server.service

要想启用worldPing插件,需要先去grafana官网(grafana.com/orgs/riclee)申请一个API key

如图所示,点击Add Api Key按钮,API key name可以随便取:

生成API key后,记得先把生成的API key复制保存

获得API key之后就可以启用worldPing插件了,点击enable输入从官网获取的API key,worldPing插件就启用成功了。

点击->左侧菜单栏->->worldping home:

点击->new endpoint

在endpoint name上输入想要检测的网站,等待片刻:

点击->Go to smmary dashboard

此插件内置了www.google.com的demo

在上面你可以看到你所配置的每个地区能够访问www.google.com的正常运行时间,状态,以及性能。

除此之外,worldping将每个监控指标分成独自的仪表盘。配置了例如ping、DNS、web检测仪表盘,数据更加详细清晰:

Web

DNS

PING

Influxdb+telegraf 监控伺服器cpu、内存和硬碟

下载influxdb

cd /opt

# 下载速度很慢, 建议用迅雷下载, 然后通过XSHELL上载到伺服器

$ wget https://dl.influxdata.com/influx ... db-1.0.2.x86_64.rpm

$ yum localinstall influxdb-1.0.2.x86_64.rpm

启动influxdb服务

$ systemctl restart influxdb

下载设置telegraf

$ cd /opt

# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到伺服器

$ wget https://dl.influxdata.com/telegr ... af-1.0.1.x86_64.rpm

$ yum localinstall telegraf-1.0.1.x86_64.rpm

$ cd /etc/telegraf

# 只收集cpu, 内存和硬碟的数据

$ telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf

# 设置将数据传递写入influxdb伺服器

$ vi telegraf.conf

# 将地址改成 influxdb 对应的伺服器地址, 埠默认 8086, 默认资料库 telegraf

启动telegraf服务

$ systemctl restart telegraf

在grafana上设置

导入influxdb数据源

创建一个新的仪表盘

定义度量值,注意选择influxdb数据源:

设置阀值邮件告警

设置报警,设置完了后点击->「test rule」

触发报警,这时邮箱收到报警信息:

在菜单栏的Alerting栏目,收到网页的报警

增加钉钉报警功能

点击左侧->菜单栏->铃铛->notification channels

设置告警方式为DingDing,图中的url是钉钉机器人的webhook地址

在钉钉软体上,选择机器人设置:

点击->完成,将webhook复制到grafana的告警url中:

设置完了后我们点击->send test测试钉钉告警效果:

这时候我们会在钉钉上收到测试告警信息:

将钉钉告警设置在influxdb+telegraf的图表中

达到预警阀值,触发告警,这时钉钉的机器人会发来告警信息:

Influxdb+ collectd 监控伺服器cpu、内存和硬碟

下载collectd

$ yum install -y collectd # collectd依赖epel-release安装源

安装rrdtool插件

为了让influxdb能够识别collectd的数据,要安装rrdtool插件,否则/var/lib/collectd/rrd目录不会生成

rrdtool插件与依赖包的安装:

$ yum install collectd-rrdtool rrdtool rrdtool-devel

设置collectd服务

Vim /etc/collectd.conf

FQDNLookup true

BaseDir "/var/lib/collectd"

PIDFile "/var/run/collectd.pid"

PluginDir "/usr/lib64/collectd"

TypesDB "/usr/share/collectd/types.db"

LoadPlugin syslog

LoadPlugin cpu

LoadPlugin disk

LoadPlugin interface

LoadPlugin memory

LoadPlugin rrdtool

LoadPlugin swap

LoadPlugin network

<Plugin cpu>

ReportByCpu true

ReportByState true

ValuesPercentage true

</Plugin>

<Plugin interface>

Interface "eno33554984" #用ifconfig查看Interface对应名称

IgnoreSelected false

</Plugin>

<Plugin load>

ReportRelative true

</Plugin>

<Plugin network>

<Server "127.0.0.1" "25826"> #此IP写入influxdb伺服器IP,这里是监控本机所以写环回地址

</Server>

</Plugin>

#配置日志级别和路径等属性,重启collectd,在/var/log/collectd.log中可看到日志

LoadPlugin logfile

<Plugin logfile>

LogLevel info

File "/var/log/collectd.log"

</Plugin>

rrd目录

启动collectd后,可在/var/lib/collectd目录下看到rrd目录的监控内容

设置influxdb

编辑influxdb服务的配置文件/etc/influxdb/influxdb.conf

重启服务

$ systemctl restart influxdb.service collectd.service

查看collectd资料库

这里的资料库无需在influxdb里事先创建好,collectd在向influxdb发送数据的时候会自动创建该资料库。这里重启influxdb服务,会发现其会开启一个UDP的25826埠用来接收数据(netstat -tunpl | grep 25826)。

将collectd资料库的influxdb在grafana导入zabbix

创建一个表格,在其度量值上输入以下参数

也可以点击toggle edit mode:使用sql脚本:

SELECT derivative("value") AS "value" FROM "interface_rx" WHERE "host" = client174 AND "type" = if_octets AND "instance" = eth0

92.png (37.59 KB, 下载次数: 0)

下载附件2019-4-30 14:33 上传

表格显示监控图形:

更多关于zabbix与Grafana的交流欢迎入群QQ177428068


推荐阅读:
相关文章