1.Influxdb
influxdb是一个开源分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展,是 InfluxData 的核心产品。
安装:
#下载rpm软件包
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3.x86_64.rpm
#安装influxdb
yum localinstall -y influxdb-1.8.3.x86_64.rpm
#创建influxdb存储目录
sudo mkdir -p /mnt/data/influxdb/
sudo mkdir -p /mnt/data/influxdb/meta
sudo mkdir -p /mnt/data/influxdb/wal
sudo mkdir -p /mnt/data/influxdb/data
sudo chown -R influxdb:influxdb /mnt/data/influxdb
#修改配置文件
vim /etc/influxdb/influxdb.conf //修改以下配置参数即可
reporting-disabled = true //该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false。
[meta]:控制存储有关InfluxDB群集的元数据的Raft共识组的参数。
dir = "/mnt/data/influxdb/meta" //存储元数据/ raft数据库的目录
[data]:控制InfluxDB的实际分片数据的生存位置以及它从WAL中刷新的方式。
dir = "/mnt/data/influxdb/data" //最终数据(TSM文件)存储目录
wal-dir = "/mnt/data/influxdb/wal" //预写日志存储目录
index-version = "tsi1" //将索引信息持久化至硬盘
#启动influxdb 、并设置开机自启
sudo systemctl start influxdb
sudo systemctl status influxdb
sudo systemctl enable influxdb
2.Telegraf
Telegraf 是 InfluxData 公司开源的一款十分流行的指标采集软件,使用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。在 GiHub 已有上万 Star。其借助社区的力量,拥有了多达 200 余种采集插件以及 40 余种导出插件,几乎覆盖了所有的监控项,例如机器监控、服务监控甚至是硬件监控。
安装:
#配置 yum 源文件
touch /etc/yum.repos.d/influxdata.repo
#写入以下内容
sudo bash -c "cat > /etc/yum.repos.d/influxdata.repo" << EOF
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/x86_64/main/
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
#yum 安装
sudo yum install -y telegraf
#启动、设置开启自启
sudo systemctl start telegraf
sudo systemctl enable telegraf
#修改配置文件,将采集的数据写入influxdb
vim /etc/telegraf/telegraf.conf //只需修改以下内容
[[outputs.influxdb]]
urls = ["http://127.0.0.1:8086"] //influxdb的IP地址与端口
database = "telegraf" //配置数据库
3.Grafana
grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。
官网:Grafana: The open observability platform | Grafana Labs
3.1 安装:
#下载rpm软件包
wget https://dl.grafana.com/oss/release/grafana-8.0.3-1.x86_64.rpm
#安装
yum install -y grafana-8.0.3-1.x86_64.rpm
#创建存储目录
sudo mkdir -p /mnt/data/grafana/
sudo mkdir /mnt/data/grafana/data
sudo mkdir /mnt/data/grafana/logs
sudo mkdir /mnt/data/grafana/plugins
sudo mkdir /mnt/data/grafana/dashboards
#修改目录所属用户、组
sudo chown -R grafana:grafana /mnt/data/grafana
sudo chown -R grafana:grafana /etc/grafana
#修改配置文件
vim /etc/grafana/grafana.ini
#只需修改以下配置
[paths]
data = /mnt/data/grafana/data //数据文件
logs = /mnt/data/grafana/logs //日志文件
reporting_enabled = false
plugins = /mnt/data/grafana/plugins //插件文件
[dashboards.json] //自定义dashboards
enabled = false
path = /mnt/data/grafana/data/dashboards
[server]
protocol = http //访问协议
http_addr = 192.168.79.136 //监听IP地址,注意配成本机的内网IP
http_port = 3000 //监听端口
[metrics] // 内部 Grafana 指标
enabled = true
disable_total_stats = false
#启动grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
3.2 登录 192.168.79.136:3001,输入用户名和密码(默认admin admin),登录之后会提示你修改新密码。
或者登录进去进行修改密码:
3.3 配置influxdb数据源
4.通过Telegraf内置插件定时采集Redis指标信息
4.1 配置Telegraf 中Redis监控插件
vim /etc/telegraf/telegraf.conf
#修改以下内容
[[inputs.redis]]
#修改为redis的IP和端口
servers = ["tcp://192.168.79.136:6379"] //redis无密码的配置格式
servers = ["tcp://:password@192.168.79.136:6379"] //redis有密码的配置格式
#若监控多个redis,使用下面的配置格式
servers = ["tcp://192.168.79.136:6379","tcp://192.168.79.136:6380"]
这三种格式选择其一进行修改后,重启telegraf
重启之后,可以看到influxdb 中telegraf库已经新增了三个关于redis表: