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

news2025/1/15 16:11:27

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、效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/24176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows glog 安装以及环境搭建

ocr 代码是用 C 写得,以前只有一个同事在维护,他离职几年了,那块代码没人能改得了。工作后一直在写 Java ,写了快 10 年 Java 了。看了几天 C 代码,终于能在 vs 下把代码给跑起来了。 写 Java 代码是在 mac 平台下 In…

uniapp 切换WIFI

最近有一个新的需求,在app中实现切换wifi的功能。 方法一、 实现:使用安卓9(28)方法的WifiManager.addNetwork切换,具体实现方法大家自己搜,很容易搜到。 弊端: 要先忘记 WI-FI 才能连接成功&…

竞品分析:秒健康

发展历程 妙健康产品上线后,最初主要提供相关的在线医疗服务健康管理社区互动,虽然也有瘦身等相关功能,但整体业务偏向医疗化,用户年龄层也相对偏高。 15年进入健康市场后,不断探索并完善有关医疗业务的相关功能&am…

FBA海运是什么,FBA海运的优势是什么

FBA的方式分为海运,空运,快递这种,其中海运是各种方式中性价比最高的一种,不仅价格便宜,而且运货量大,清关简单,虽然时效有点慢,但是量大可以补救,我们在这里主要说一说F…

java设计模式

设计模式汇总(copy) 介绍 内容链接设计模式简介https://blog.csdn.net/m0_54485604/article/details/113309133 UML 类图介绍 内容链接UML类图https://blog.csdn.net/m0_54485604/article/details/113243818 六大设计原则 内容链接开闭原则https://blog.csdn.net/m0_54485604/a…

Spring:AOP的核心概念(10)

AOP核心概念AOP简介什么是AOPAOP作用AOP核心概念AOP入门案例AOP工作流程流程1: Spring容器启动流程2: 读取所有切面配置中的切入点流程3: 初始化bean流程4: 获取bean执行方法AOP核心概念AOP小结AOP简介 什么是AOP AOP(Aspect Oriented Programming)面向切面编程,一…

SSD 1306显示屏 adafruit SSD 1306

文章目录1.常用函数1.字体oled.printoled.setRotation(1);oled.setTextSize(1);oled.setCursor(35, 5);2.图形类oled.fillScreen(WHITE );//coloroled.fillRect(10, 10, 20, 20, WHITE );//x y x1 y1 coloroled.drawRect(10, 10, 40,40, WHITE );//x y x1 y1 coloroled.drawCir…

数字信号处理-3-函数的正交

0 导读 如果函数成正交关系,那么它们的积的定积分为 0。反过来说就是,如果两个函数相乘的定积分值为 0,那么称这两个函数正交。sinx 与 cosx 正交,sinnx 与 sinmx 正交(m与n不相等),cosnx 与 c…

留学文书Statement of Purpose写法介绍

留学目的陈述(Statement of Purpose, 通常简写为SOP)是留学申请文书里的重要内容之一。通过SOP,目标学校可以更深入地了解申请人的留学目的以及申请人的目标是否和学校的教学理念相一致。因此,在撰写SOP的时候,申请者要…

开播客户端

OBS架构 配置数据:json表示 libobs接口导出:export、import 多线程中的缓冲队列:circlebuf动态循环缓冲 分层 UI > libobs > 插件 libobs C实现的,拥有一个全局变量控制所有事务。 视频采集渲染线程、视频编码线程&…

基于PHP+MYSQL的网上鲜花店销售系统(含论文)

鲜花在人们的生活中是一个非常重要的东西,在节假日或者一些有特殊含义的日子里人们通常会给亲朋好友或者长辈们送上一束有特殊含义的鲜花来表示自己对节日的问候,为了给人们增加鲜花的选择性和降低购买的难度我们开发了本网上鲜花店销售系统 本网上鲜花店销售系统是通过当下最流…

CorelDRAW2023安装下载教程精简版矢量绘图软件

CDR全称是CorelRAW2023,它不同于Photoshop,PS是一款图片处理软件,而CDR是一款较为常用的矢量绘图设计软件,该软件给设计师提供了矢量动画、页面设计、网站制作、位图编辑和网页动画等多种功能,使用的比较多的版本是202…

【读点论文】CMT: Convolutional Neural Networks Meet Vision Transformers

CMT: Convolutional Neural Networks Meet Vision Transformers Abstract 视觉transformer已经成功地应用于图像识别任务,因为它们能够捕获图像中的长距离依赖性。然而,transformer和现有卷积神经网络(CNN)在性能和计算成本方面仍…

Pandas太慢?快使用Vaex DataFrame,每秒数亿数据算起来 ⛵

💦 作者:韩信子ShowMeAI 📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40 📘 本文地址:https://www.showmeai.tech/article-detail/393 📢 声明:版权所有,转…

LR低代码快速开发平台 高效调整企业组织架构

组织架构以及围绕组织架构的设计、实施和变革,是企业管理永恒的话题,它上承公司的业务战略和运营模式,下接业务流程和信息系统建设,重要性不言而喻。数字化变革浪潮之下,商业模式的颠覆、价值链的重塑都需要由相匹配的…

解读商业智能BI,数据仓库中的元数据

之前的文章讨论过数据分析、数据治理、数据仓库等等,即使是非业内人员从字面意思,也是可以了解一二的,但是,很多人对于元数据可能就比较陌生了。那么,今天我们就来聊一聊元数据管理。 一、数据仓库 要说元数据&#…

IB 物理真题: 比潜热、理想气体

本题是 2017 年 IB 物理试卷 paper 2 的一道大题,在 SL 和 HL 的试卷中,这道题基本没什么区别,所以适用于所有考 IB 物理的学生。这道题主要涉及到了功率、比潜热、和理想气体的知识,具体讲了液氧蒸发成氧气的过程。如下图所示&am…

简述CompletableFuture异步任务编排

前言 在之前的项目开发中,都没怎么使用过CompletableFuture的功能,只听说过和异步编程有关。为了能够在将来有需要的时候用得上,这两天花了点时间学习了一下,并简单地总结一下如何使用CompletableFuture完成异步任务编排。 先创…

Linux20 -- 线程安全、保证线程安全的示例代码

一、线程安全 线程安全即就是在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的。那么就说这些线程是安全的。 线程安全:多线程程序,无论调度顺序咋样,都可以得到正确一致的结果。安全–正确…

React-fiber基础之requestAnimationFrame和requestIdleCallback

屏幕刷新率 目前大多数设备的屏幕刷新率是60次每秒浏览器渲染动画或者页面的每一帧的速率也需要根设备屏幕的刷新率保持一致页面是一帧一帧绘制出来的,当每秒的帧数(FPS)达到60,页面是流畅的,小于这个值,用…