当前位置: 首页 > 科技观察

本文告诉你如何全方位监控Linux系统的状态

时间:2023-03-16 23:30:17 科技观察

作为一名Linux系统运维人员,你需要了解Linux系统的运行负载、网络状态、磁盘、内存使用情况系统实时。因此,作为开源的监控告警系统prometheus,官方自然也为大家提供了这样一套工具,可以实时监控多台服务器的运行状态,并进行实时告警。Prometheus为运维人员提供了node_exporter,这是一个非常强大的统计全面的工具。https://github.com/prometheus/node_exporter,这是node_exporter的github地址。启动node_exporter非常简单。官方提供了docker镜像供我们使用。我们只需要一个简单的命令来启动node_exporter。$dockerrun-d--net="host"--pid="host"-v"/:/host:ro,rslave"quay.io/prometheus/node-exporter--path.rootfs/hostnet指定host,其中意思是我们启动的容器共享宿主机的网络信息,可以直接访问宿主机上的网络信息。pid指定了宿主机,容器可以获取到宿主机上的所有进程运行信息。同时,为了了解文件系统的信息,需要将物理机的根目录挂载到docker的/host目录下,并告诉node_exporter容器哪一个是物理机的根目录在容器中,这里是/host。启动后node_exporter默认监听端口为9100,此时我们可以直接测试metrics是否可用。$curlhttp://127.0.0.1:9100/metrics此时我们将获取到node_exporter的所有指标。接下来需要配置prometheus在哪里收集node_exporter的metrics信息,并将target添加到prometheus中。添加节点导出器目标这里我们添加一个新目标来收集node_exporter的指标。然后,我们需要添加官方提供的node_exporter的grafanadashboard。https://grafana.com/dashboards/1860node_exporterdashboard点击右边的CopyIDtoclipboard。或者下载json文件。导入新仪表板并将ID复制到表单。Grafana自动从官网仓库下载json文件,选择数据源。在服务健康图表监控层面,我们可以看到在grafana新建的dashboard中,会有各个层面获取到的实时运行状态数据。后面我们可以使用grafana的alert或者prometheus的alertmanager组件,根据设定的阈值向运维人员发送告警。