注意:该作者博客已迁移至https://buxianshan.xyz
简介
- collectd 是一个系统性能采集工具,用来定期收集系统和应用程序的性能指标,如CPU、内存、系统负载、吞吐量等。
- InfluxDB是一个用于存储和分析时间序列数据的开源数据库。
- Grafana是一个跨平台的开源的度量分析和可视化工具,可以连接数据库查询采集的数据然后可视化的展示。
简言之就是用collectd收集数据,influxdb存储数据,grafana展示数据。
本次测试将实现如下效果
本次使用的系统是 CentOS 7
一、安装collectd
先安装epel源(关于epel源)
yum install -y epel-release
安装collectd
yum install -y collectd
修改collectd配置文件(选择需要获取的数据)
使用vim编辑器打开collectd的配置文件
vim /etc/collectd.conf
可以直接复制粘贴下面的信息(也可以在文件里找,然后去掉前面的注释符#)
主机名、网卡名和IP根据主机修改,其余基本一致
Hostname "localhost" #主机名
FQDNLookup true
BaseDir "/var/lib/collectd"
PIDFile "/var/run/collectd.pid"
PluginDir "/usr/lib64/collectd"
TypesDB "/usr/share/collectd/types.db"
LoadPlugin disk
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin processes
LoadPlugin users
<plugin interface>
Interface "ens32" #网卡名
IgnoreSelected false
</plugin>
<plugin network>
Server "192.168.5.138" "25826" #下面在本机安装influxdb,所以写本机IP
</plugin>
启动collectd服务并设置开机自启
systemctl start collectd.service
systemctl enable collectd.service
查看运行状态
systemctl status collectd.service
二、安装influxdb
配置yum(让它知道在哪里下载influxdb)
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
然后就可以用yum安装influxdb了
(如果下载很慢,这里有我下载好的rpm安装包)
yum install -y influxdb
启动influxdb并设置开机自启
systemctl start influxdb.service
systemctl enable influxdb.service
打开influxdb
创建数据库和用户
我这里创建数据库名为collectd,用户名bxs,密码123456
然后把上面创建的数据库的所有权限赋给bxs用户
修改influxdb的配置文件(让它支持collectd)
vim /etc/influxdb/influxdb.conf
修改下列内容(去掉注释符#)
enabled原来是false,改成true
bind-address写本机IP
typesdb路径也要改一下
[[collectd]]
enabled = true
bind-address = "192.168.5.138:25826"
database = "collectd"
typesdb = "/usr/share/collectd/types.db"
batch-size = 5000
batch-pending = 10
batch-timeout = "10s"
read-buffer = 0
重启influxdb
systemctl restart influxdb.service
查看25826端口是否已经监听(有则正常)
netstat -anp| grep 25826
此时数据库里应该已经有数据了
(已经有很多表了)
随便查一个表看看
三、安装grafana
安装grafana
(如果下载太慢,这里有我下载好的rpm安装包)
yum install -y https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-6.3.3-1.x86_64.rpm
启动grafana并设置开机自启
systemctl start grafana-server.service
systemctl enable grafana-server.service
开放端口号3000,重启防火墙
firewall-cmd --add-port=3000/tcp --permanent
systemctl restart firewalld.service
或者直接关闭防火墙
systemctl stop firewalld.service
打开浏览器输入http://192.168.5.138:3000/ (根据自己的IP)
初始用户名和密码都是admin
点击Add data source
选择influxDB
输入之前创建的数据库,用户名和密码。然后点Save & Test
点左上角的+,然后点Import
输入神秘代码554,点Load
(其实就是别人做好的模板)
然后可以自己去创建Dashboard研究如何配置图表了。
感谢:
- https://www.cnblogs.com/hanzhang/p/9240592.html
- http://www.simlinux.com/2016/04/28/grafana-influxdb-collectd.html
- https://www.cnblogs.com/yihuihui/p/11386678.html