打造高逼格、可视化的监控系统平台

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 打造高逼格、可视化的监控系统平台

1、安装influxdb数据库

docker run -d --name influxdb -p 8083:8083 -p 8086:8086 tutum/influxdb

两个端口都要映射出来,同时要开启防火墙端口

web http://192.168.199.151:8083/进入8083端口,创建数据库cadvisor

创建管理员admin密码123456的用户

好像最新的这个influxdb的docker数据库是放在容器里的/data里

docker run -d --name=cadvisor -p 8082:8080 -v /:/rootfs,ro -v /var/run:/var/run -v /sys:/sys,ro -v /var/lib/docker/:/var/lib/docker,ro google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086

上面这个应该有问题,应该host=influxdb:8086修改成下面的地址才对

docker run -d --name=cadvisor -p 8082:8080 -v /:/rootfs,ro -v /var/run:/var/run -v /sys:/sys,ro -v /var/lib/docker/:/var/lib/docker,ro --privileged=true google/cadvisor -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_user=admin -storage_driver_password=123456 -storage_driver_host=192.168.199.151:8086
[root@localhost ~]# docker logs cadvisor
W0730 02:50:08.190941 1 info.go:53] Couldn't collect info from any of the files in "/etc/machine-id,/var/lib/dbus/machine-id"
W0730 02:50:08.208530 1 manager.go:349] Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory

出现上面的错误了,但好像不影响相应的监控数据等功能

在influxdb 没有看到相关数据表,可以看到,要选择里面的cadvisor,但grafana却可以选择相应的数据同时显示出来

http://192.168.199.151:8082/docker/ 可以看容器的相关信息 ,但好像不能看到相关容器信息,只能看到主机相关信息

目前上面的这个办法有问题,暂时只能先放弃了

2、安装telegraf来进行监控

docker pull telegraf

再生成一个配置文件

docker run --rm telegraf telegraf config > telegraf.conf

需要对telegraf.conf进行相关监控配置

要监控docker 需要

[[inputs.docker]]
endpoint = "unix:///var/run/docker.sock"
container_names = []
container_name_include = []
container_name_exclude = []
timeout = "5s"
perdevice = true
total = false
tag_env = ["JAVA_HOME", "HEAP_SIZE"]
docker_label_include = []
docker_label_exclude = []
上面的input要注释掉
要监控mysql要
# # Read metrics from one or many mysql servers
[[inputs.mysql]]
# ## specify servers via a url matching:
# ## [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify|custom]]
# ## see https://github.com/go-sql-driver/mysql#dsn-data-source-name
# ## e.g.
# ## servers = ["user:passwd@tcp(127.0.0.1:3306)/?tls=false"]
# ## servers = ["user@tcp(127.0.0.1:3306)/?tls=false"]
# #
# ## If no servers are specified, then localhost is used as the host.
servers = ["tcp(192.168.199.151:3306)/"]
#
# ## Selects the metric output format.
# ##
# ## This option exists to maintain backwards compatibility, if you have
# ## existing metrics do not set or change this value until you are ready to
# ## migrate to the new format.
# ##
# ## If you do not have existing metrics from this plugin set to the latest
# ## version.
# ##
# ## Telegraf >=1.6: metric_version = 2
# ##
metric_version = 2
#
# ## the limits for metrics form perf_events_statements
perf_events_statements_digest_text_limit = 120
perf_events_statements_limit = 250
perf_events_statements_time_limit = 86400
# #
# ## if the list is empty, then metrics are gathered from all databasee tables
table_schema_databases = []
# #
# ## gather metrics from INFORMATION_SCHEMA.TABLES for databases provided above list
gather_table_schema = false
# #
# ## gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST
gather_process_list = true
# #
# ## gather user statistics from INFORMATION_SCHEMA.USER_STATISTICS
gather_user_statistics = true
# #
# ## gather auto_increment columns and max values from information schema
gather_info_schema_auto_inc = true
# #
# ## gather metrics from INFORMATION_SCHEMA.INNODB_METRICS
gather_innodb_metrics = true
# #
# ## gather metrics from SHOW SLAVE STATUS command output
gather_slave_status = true
# #
# ## gather metrics from SHOW BINARY LOGS command output
gather_binary_logs = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE
gather_table_io_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS
gather_table_lock_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE
gather_index_io_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS
gather_event_waits = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME
gather_file_events_stats = false
# #
# ## gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
gather_perf_events_statements = false
# #
# ## Some queries we may want to run less often (such as SHOW GLOBAL VARIABLES)
interval_slow = "30m"
#
# ## Optional TLS Config (will be used if tls=custom parameter specified in server uri)
# # tls_ca = "/etc/telegraf/ca.pem"
# # tls_cert = "/etc/telegraf/cert.pem"
# # tls_key = "/etc/telegraf/key.pem"
# ## Use TLS but skip chain & host verification
# # insecure_skip_verify = false

要监控redis

# # Read metrics from one or many redis servers
[[inputs.redis]]
# ## specify servers via a url matching:
# ## [protocol://][:password]@address[:port]
# ## e.g.
# ## tcp://localhost:6379
# ## tcp://:password@192.168.99.100
# ## unix:///var/run/redis.sock
# ##
# ## If no servers are specified, then localhost is used as the host.
# ## If no port is specified, 6379 is used
servers = ["tcp://192.168.199.151:6379"]
#
# ## specify server password
password = "masterredis"

监控influxdb

# # Read InfluxDB-formatted JSON metrics from one or more HTTP endpoints
[[inputs.influxdb]]
# ## Works with InfluxDB debug endpoints out of the box,
# ## but other services can use this format too.
# ## See the influxdb plugin's README for more details.
#
# ## Multiple URLs from which to read InfluxDB-formatted JSON
# ## Default is "http://localhost:8086/debug/vars".
urls = [
"http://192.168.199.151:8086/debug/vars"
]
#
# ## Optional TLS Config
# # tls_ca = "/etc/telegraf/ca.pem"
# # tls_cert = "/etc/telegraf/cert.pem"
# # tls_key = "/etc/telegraf/key.pem"
# ## Use TLS but skip chain & host verification
# # insecure_skip_verify = false
#
# ## http request & header timeout
timeout = "5s"

对于输出到influxdb需要配置

[[outputs.influxdb]]
urls = ["http://192.168.199.151:8086"]
database = "telegraf"
username = "admin"
password = "123456"
docker run -d --name=telegraf -v /root/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf -v /var/run:/var/run telegraf

查询telegraf数据库的表"docker_container_cpu

SELECT * FROM "telegraf".."docker_container_cpu" LIMIT 100
docker run -d --name grafana -p 3000:3000 grafana/grafana

登录grafana后admin密码修改成XXXXXX

通过docker exec -it grafana bash进入grafana

安装饼图插件

grafana-cli plugins install grafana-piechart-panel

安装好后重新docker restart grafana

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=8082/tcp --permanent
firewall-cmd --add-port=8083/tcp --permanent
firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --reload

3、效果图


相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
相关文章
|
7月前
|
Dubbo 前端开发 Java
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
让你在组建企业级项目时手到擒来——浅谈各类常用工具和框架概述
|
5月前
|
数据采集 监控 数据挖掘
公司电脑监控软件中的SPSS统计分析
**使用SPSS分析员工监控数据**:公司借助电脑监控软件收集员工的工作数据,如上网记录和应用使用,然后通过SPSS进行统计分析以洞察工作习惯和效率。数据预处理后,利用SPSS脚本进行分析。自动化脚本定期将数据提交至内部网站,提升管理效率并为决策提供支持。
61 3
|
5月前
|
存储 监控 安全
公司电脑监控软件深度对比:软件功能、易用性和成本效益分析
随着企业对信息安全和员工效率管理的日益重视,公司电脑监控软件逐渐成为企业管理工具箱中的必备品。本文将深入探讨三款行业领先的监控软件——WorkWin、OsMonitor和ManageEngine Desktop Central,分析它们在功能、易用性和成本效益等方面的优劣,为企业管理提供参考。
139 1
|
6月前
|
存储 监控 安全
哪款电脑监控软件最好丨监控工具推荐
挑选合适的监控软件对家庭网络和企业生产力至关重要。WorkWin提供权限管理、远程控制、时间统计,确保工作效率和信息安全。Norton Family允许管理应用使用时间、限制上网时间,保护孩子免受网络危害。Kaspersky Safe Kids具有实时定位、警报设置和多平台支持,保障孩子安全。这些工具能帮助用户做出明智选择。[来源](https://www.bilibili.com/read/cv35295466/)
156 3
|
7月前
盘点效率工具RunFlow那些容易被忽略的功能
RunFlow隐藏实用功能一览:固定工作窗口、预览菜单、浏览器直接打开剪贴板URL、多行输入(Ctrl+Enter换行)、固定结果展示。提升效率,从发现这些小窍门开始。
50 4
盘点效率工具RunFlow那些容易被忽略的功能
|
7月前
|
存储 JSON 监控
使用Python实现公司常用的电脑监控软件:一体化解决方案
随着公司规模的扩大,电脑监控变得尤为重要,以确保员工的高效工作和公司信息的安全。为了满足公司需求,我们决定使用Python来实现一套自定义的公司常用的电脑监控软件,提供一体化解决方案。
309 0
|
监控 算法 安全
转:图像识别算法在电脑屏幕监控软件中的优势与实用性
在电脑屏幕监控软件中,图像识别算法就像是一个电脑版的侦探,用着最先进的计算机视觉技术,自动监视和分析屏幕上的图像内容。图像识别算法可以轻松地识别出屏幕上的物体、文字、图案等等,不管它们是多么复杂或是隐蔽。无论你是在监控系统里还是在视频编辑软件中使用它,都会让你感觉到“嗯,这真的是太强大了!”下面就为大家简单的介绍一下图像识别算法在电脑屏幕监控软件中优势与实用性。
127 1
|
数据挖掘 BI
做报表用什么软件好-推荐VeryReport报表软件
做报表用什么软件好-推荐VeryReport报表软件
|
SQL 监控 数据可视化
最近常用的一款可视化软件
最近常用的一款可视化软件
最近常用的一款可视化软件
|
数据可视化 API
使用thingjs在3D可视化场景中人员定位的实现方式
将人物的位置信息在3D 场景中展现,让我们能够观察人员的实时位置及历史轨迹,为传统的人员位置信息提供三维可视化的展现方式。 通过ThingJS可以将人员的定位信息在3D场景中对应起来,进行描点,画线,并创建相关人物的模型,根据实时数据驱动人物行走。
1473 0