打造高逼格、可视化的监控系统平台
创始人
2024-02-06 06:44:07

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

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...