监控grafana使用
由于市场上对家用路由器的不满,使CentOS成为家用路由器。 自从我早期使用Linux以来,这既是一项很好的练习,又是一种怀旧之情。 一旦完成了基础设置,我就想找到一种跟踪各种统计信息的方法,例如网络流量,磁盘使用情况等。古老的Cacti当然是一个选择,但如今感觉有点像传统了。 我更喜欢使用具有更现代感的更新工具。 这就是导致我来到格拉法纳(Grafana)的原因 。 这是我如何进行设置的基本演练。 这是一个基本安装,在同一主机上合并了collectd,InfluxDB和Grafana。什么,您以为我会直接进入Grafana? 我们需要首先收集数据,而在CentOS上进行收集的最佳方法是通过collect 。
在CentOS上收集的最简单方法是通过EPEL存储库 。 如果您是CentOS的新手或不熟悉Fedora的EPEL仓库,则此命令是您入门的全部:
yum install epel-release
既然已经启用了EPEL回购,就很容易以相同的方式安装收集到的信息:
yum install collectd
EPEL中还提供了其他收集的插件,但是基本足以满足我们的目的。 如果基础插件不能满足您的需求,我鼓励您探索可用的插件。
现在已安装收集到的数据,我们需要对其进行配置以发送数据。 收集生成统计信息,但我们需要将其放置在Grafana可以使用的地方。
在/etc/collectd.conf中 ,我们需要配置一些内容。 在“全局”部分中,取消注释Hostname , BaseDir , PIDFile , PluginDir和TypesDB的行 。 您将需要修改Hostname ,但其他默认值应该合适。 它看起来应该像这样:
Hostname
"YourHostNameHere"
#FQDNLookup true
BaseDir
"/var/lib/collectd"
PIDFile
"/var/run/collectd.pid"
PluginDir
"/usr/lib64/collectd"
TypesDB
"/usr/share/collectd/types.db"
现在我们已经有了基本的应用程序信息集,我们需要启用我们要使用的插件。 例如,我没有对syslog , cpu , disk , interface , load , memory和network进行注释。 其中,除network以外的所有内容的默认值都适用。 网络插件用于将数据发送到我们的收集器,在本例中为InfluxDB 。 网络插件将需要指向您的InfluxDB服务器。 因为在此示例中我们在本地进行所有操作,所以我们指向localhost 。 它看起来应该像这样:
< Plugin network
>
Server
"127.0.0.1"
"8096"
Plugin
>
现在我们已经完成了收集的工作,我们必须配置InfluxDB来提取收集的正在生成的数据。 由于InfluxDB不在EPEL中,因此我们必须将其从其存储库中拉出。 下面的命令使操作变得简单:
cat
<< EOF
>
/ etc
/ yum.repos.d
/ influxdb.repo
[ influxdb
]
name = InfluxDB Repository - RHEL \
$releasever
baseurl = https:
// repos.influxdata.com
/ centos
/ \
$releasever
/ \
$basearch
/ stable
enabled =
1
gpgcheck =
1
gpgkey = https:
// repos.influxdata.com
/ influxdb.key
EOF
完成后,使用yum install influxdb安装软件包 ,然后就可以进行配置了。 /etc/influxdb/influxdb.conf配置文件中只需要发生几件事。
在/etc/influxdb/influxdb.conf的[http]部分中,设置enabled = true和bind-address =“:8096” 。 它看起来应该像这样:
[ http
]
# Determines whether HTTP endpoint is enabled.
enabled =
true
# The bind address used by the HTTP service.
bind-address =
":8086"
然后向下滚动到[[collectd]]部分,并按以下方式进行配置:
[
[ collectd
]
]
enabled =
true
bind-address =
":8096"
database =
"collectd"
typesdb =
"/usr/share/collectd"
此时,我们可以继续并启动这两种服务,以确保它们正常工作。 首先,我们将启用collectd并确保其正在发送数据。 与其他服务一样,我们将为此使用系统 。 在下面的示例中,您将看到使用的命令以及正在运行的收集守护程序的输出。
[ jperrin
@ monitor ~
] $
sudo systemctl
enable collectd
[ jperrin
@ monitor ~
] $
sudo systemctl start collectd
[ jperrin
@ monitor ~
] $
sudo systemctl status collectd
● collectd.service - Collectd statistics daemon
Loaded: loaded
(
/ usr
/ lib
/ systemd
/ system
/ collectd.service; enabled; vendor preset: disabled
)
Active: active
( running
) since Sat
2017 -08-02
11 :
22 :
18 PDT; 6min ago
Docs: man:collectd
(
1
)
man:collectd.conf
(
5
)
Main PID:
18366
( collectd
)
CGroup:
/ system.slice
/ collectd.service
└─
18366
/ usr
/ sbin
/ collectd
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : plugin_load: plugin
"disk" successfully loaded.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : plugin_load: plugin
"interface" successfully loaded.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : plugin_load: plugin
"load" successfully loaded.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : plugin_load: plugin
"memory" successfully loaded.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : plugin_load: plugin
"network" successfully loaded.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : Systemd detected, trying to signal readyness.
Aug
2
11 :
22 :
18 monitor collectd
[
18366
] : Initialization
complete , entering read-loop.
Aug
2
11 :
22 :
18 monitor systemd
[
1
] : Started Collectd statistics daemon.
现在收集工作正常,启动InfluxDB并确保它正在收集收集的数据。
[ jperrin
@ monitor ~
] $
sudo systemctl
enable influxdb
[ jperrin
@ monitor ~
] $
sudo systemctl start influxdb
[ jperrin
@ monitor ~
] $
sudo systemctl status influxdb
● influxdb.service - InfluxDB is an open-source, distributed,
time series database
Loaded: loaded
(
/ usr
/ lib
/ systemd
/ system
/ influxdb.service; enabled; vendor preset: disabled
)
Active: active
( running
) since Sat
2017 -07-
29
18 :
28 :
20 PDT;
1 weeks
6 days ago
Docs: https:
// docs.influxdata.com
/ influxdb
/
Main PID:
23459
( influxd
)
CGroup:
/ system.slice
/ influxdb.service
└─
23459
/ usr
/ bin
/ influxd
-config
/ etc
/ influxdb
/ influxdb.conf
Aug
2
10 :
35 :
10 monitor influxd
[
23459
] :
[ I
]
2017 -08-12T17:
35 :10Z SELECT mean
( value
) FROM collectd.autogen.cpu_value WHERE host =~
/ ^monitor$
/ AND type_instance =
'interrupt' AND
time
> 417367h GR...
)
service =query
Aug
2
10 :
35 :
10 monitor influxd
[
23459
] :
[ httpd
] 172.20.1.40, 172.20.1.40,::
1 - -
[
12
/ Aug
/
2017 :
10 :
35 :
10 -0700
]
"GET /query?db=collectd&epoch=ms&q=SELECT+mean%28%22value%22%29+FROM+%22load_shortte...ean%28%22value%
Aug 2 10:35:10 monitor influxd[23459]: [I] 2017-08-02T17:35:10Z SELECT mean(value) FROM collectd.autogen.cpu_value WHERE host =~ /^monitor$/ AND type_instance = 'nice' AND time > 417367h GROUP B...) service=query
正如我们在上面的输出中看到的那样,该服务正在运行,并且正在收集数据。 从这里开始,剩下要做的就是通过Grafana展示它。
要安装Grafana,我们将像使用InfluxDB一样创建另一个存储库。 不幸的是,Grafana的人员并没有在版本库中分开发行版本,因此,即使我们在EL7上进行这项工作,这似乎仍在使用EL6版本库。
cat
<< EOF
>
/ etc
/ yum.repos.d
/ grafana.repo
[ grafana
]
name =grafana
baseurl =https:
// packagecloud.io
/ grafana
/ stable
/ el
/
6
/
$basearch
repo_gpgcheck =
1
enabled =
1
gpgcheck =
1
gpgkey =https:
// packagecloud.io
/ gpg.key https:
// grafanarel.s3.amazonaws.com
/ RPM-GPG-KEY-grafana
sslverify =
1
sslcacert =
/ etc
/ pki
/ tls
/ certs
/ ca-bundle.crt
EOF
现在,该存储库已就绪并已启用,我们可以安装Grafana了,就像我们对其他存储库所做的那样: yum install grafana 。 完成此操作后,我们就可以开始进行配置了。 对于本教程,我们将仅设置管理员用户名和密码,因为我们是针对教程和单个用户实例进行的。 如果您想开始使用Grafana进行更多操作,我绝对鼓励您阅读文档。
要做到这一点相当基本的配置,只是取消对admin_user并在/etc/grafana/grafana.ini的[安全]部分ADMIN_PASSWORD线,并设置自己的值。 在这种情况下,我使用admin / admin ,因为这就是您在示例中所做的,对吧?
[ security
]
# default admin user, created on startup
admin_user = admin
# default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin
现在,您可以使用systemctl start grafana-server启动Grafana,并通过Web界面对其进行配置。 首次登录后,系统将提示您配置一些内容,包括数据源和仪表板。 由于我们都是在本地主机上进行操作,因此您可以在屏幕快照中作弊并使用数据源设置。 别担心,我们快到了,只剩下一点点要做。
配置数据源后,系统将提示您创建第一个仪表板。 尽管您当然可以做到,但对于Grafana来说,这有些令人生畏。 一种简单的解决方案是在Grafana的网站上导入模板之一。 我使用了“ 主机概述” 。 它提供了一组不错的指标和图形作为使用和构建的基础。
设置完所有内容后,现在就取决于您的个人喜好和进一步修改了。 我再次建议阅读文档,因为这里有许多未描述的选项和更改。
该文件最初发布在Jim Perrin的博客上,并经许可重新发布。
翻译自: https://opensource.com/article/17/8/linux-grafana
监控grafana使用