k8s学习笔记-系统监控

网友投稿 228 2022-09-09

k8s学习笔记-系统监控

Prometheus

​Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。

应用的场景很多, 如:

无人驾驶车辆运行中要记录的经度,纬度,速度,方向,旁边物体的距离等等。每时每刻都要将数据记录下来做分析。某一个地区的各车辆的行驶轨迹数据传统证券行业实时交易数据实时运维监控数据等

时间序列数据特点

性能好

关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库。

存储成本低

高效的压缩算法,节省存储空间,有效降低IO,Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)

主要特征

多维度数据模型灵活的查询语言不依赖分布式存储,单个服务器节点是自主的以HTTP方式,通过pull模型拉去时间序列数据也可以通过中间网关支持push模型通过服务发现或者静态配置,来发现目标服务对象支持多种多样的图表和界面展示

架构

实验环境准备

192.168.1.101

192.168.1.102

192.168.1.103

被监控的机器

Prometheus服务器器

Grafana服务器

​各自配置好主机名 #hostnamectl set-hostname --static server.cluster.com

三台都互相绑定IP与主机名

#vim/etc/hosts

192.168.1.102 node1

192.168.1.103node2

192.168.1.101 master

安装

1.下载xzvf prometheus-2.24.0.linux-amd64.tar.gz -C /usr/local/ mv prometheus-2.24.0.linux-amd64/ prometheus

#启动/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &netstat -anop | grep 9090

访问

-xzvf node_exporter-1.0.1.linux-amd64.tar.gz -C /usr/localln -s node_exporter-1.0.1.linux-amd64 node_exporter里面有一个执行命令node_exporter,可以直接使用此命令进行启动

nohup /usr/local/node_exporter/node_exporter &

使用nohup命令,即使终端关闭,也可以不中断运行。

通过浏览器可以看到数据

pull监听信息

在/usr/local/prometheus vi prometheus.yml - job_name: 'node1' static_configs: - targets: ['172.16.61.45:9100/']【】pkill prometheus 杀死进程【】netstat -anop | grep 9090【】/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" & 【】netstat -anop | grep 9090

返回web页面操作

监听mysql

在管理端安装mysql_export组件,下载组件install mariadb\* -y[root@node-1 soft]# systemctl start mariadb[root@node-1 soft]# systemctl enable mariadb[root@node-1 soft]# mysql

创建mysql账号

MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123';MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> quit

ip为localhost,因为promethus不是直接找mysql,而是找export,export去找mysql

安装mysqld_export组件

[root@node-1 soft]# tar -xzvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr /local/mysqld_exporter-0.12.1.linux-amd64/mysqld_exporter-0.12.1.linux-amd64/NOTICEmysqld_exporter-0.12.1.linux-amd64/mysqld_exportermysqld_exporter-0.12.1.linux-amd64/LICENSE[root@node-1 local]# ln -s mysqld_exporter-0.12.1.linux-amd64/ mysqld_exporter[root@node-1 local]# ls mysqld_exporterLICENSE mysqld_exporter NOTICE[root@node-1 local]# vi .my.cnf[client]user=mysql_monitorpassword=123[root@node-1 local]/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

验证mysqlexport启动

netstat -lnp | grep 9104

配置promethus服务器

[root@master prometheus]# vi prometheus.yml - job_name: 'node1_mariadb' static_configs: - targets: ['172.16.61.45:9104'][root@master prometheus]/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &[root@master prometheus]# netstat -lpn | grep 9090

grafana可视化管理工具

Grafana 是一个可视化开源的系统度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化展示,并能实现报警。

下载地址下载安装rpm -ivh grafana-7.3.6-1.x86_64.rpmyum install grafana-7.3.6-1.x86_64.rpm -yyum install /root/soft/grafana-7.3.6-1.x86_64.rpm -ysystemctl start grafana-serversystemctl status grafana-servernetstat -lnp | grep 3000

通过浏览器访问默认用户admin,密码admin

添加数据

添加数据到granfana

端口号为9090

添加页面

保存

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#云原生征文#Kubernetes平台基本预装资源
下一篇:DoMarketing-营销智库:快消业长销产品都是重口味?螺蛳粉和酱香酒的走红逻辑!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~