目录

  • 1、环境介绍:
  • 2、部署‘主机进程’监控
  • 1、使用 Docker 部署 Grafana
  • 2、部署并启动 prometheus
  • 3、下载 process-exporter
  • 4、创建并编辑文件 process-name.yaml
  • 5、在 prometheus.yml 中添加以下内容
  • 6、静默启动 process-exporter
  • 7、检查 process-exporter 是否启动
  • 8、重启 prometheus 容器
  • 9、访问 Grafana 页面
  • 10、创建仪表盘


1、环境介绍:

采用阿里云 CentOS 7.6 版本

[root@aliyun ~]#  cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

Docker 环境安装

2、部署‘主机进程’监控

可能会使用到的参数:

docker run [可选参数] image
# 参数说明
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

1、使用 Docker 部署 Grafana

docker pull grafana:7.5.15
docker run -d --name grafana  -p 3000:3000 grafana/grafana grafana:7.5.15

2、部署并启动 prometheus

# 创建 prometheus.yml 并添加以下内容
vim /tmp/prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:
scrape_configs:
  - job_name: 'prometheus' 
    static_configs: 
    - targets: ['localhost:9090']

# 部署并启动 prometheus
docker run -d --name=prometheus -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

3、下载 process-exporter

# 下载process-exporter
wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter-0.7.10.linux-amd64.tar.gz	

# 将文件移动到 /tmp 目录下
mv process-exporter-0.7.10.linux-amd64.tar.gz /tmp

# 切换目录,并解压
cd /tmp/
tar -xf process-exporter-0.7.10.linux-amd64.tar.gz

# 进入到 process-exporter 目录中
cd process-exporter-0.7.10.linux-amd64/

4、创建并编辑文件 process-name.yaml

vim process-name.yaml
process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'

5、在 prometheus.yml 中添加以下内容

# 进入到 /tmp 目录
cd /tmp

编辑 prometheus.yml 文件
vim prometheus.yml 
  - job_name: 'process' 
    static_configs:
    - targets: ['localhost:9256']

6、静默启动 process-exporter

# 切换进目录 /tmp/process-exporter-0.7.10.linux-amd64/
cd /tmp/process-exporter-0.7.10.linux-amd64/
# 静默启动
nohup ./process-exporter -config.path process-name.yaml &

7、检查 process-exporter 是否启动

netstat -an | grep 9256

docker 单节点部署elk docker 单进程_docker 单节点部署elk

8、重启 prometheus 容器

docker restart prometheus

注:一定要在安全策略中放开 9090、9256、3000 端口

可以访问 IP地址:8080

9、访问 Grafana 页面

访问:localhost:3000
首次登录:admin/admin

docker 单节点部署elk docker 单进程_docker 单节点部署elk_02


创建数据源:

docker 单节点部署elk docker 单进程_docker_03


docker 单节点部署elk docker 单进程_docker 单节点部署elk_04


docker 单节点部署elk docker 单进程_运维_05


docker 单节点部署elk docker 单进程_docker 单节点部署elk_06

10、创建仪表盘

docker 单节点部署elk docker 单进程_docker 单节点部署elk_07


docker 单节点部署elk docker 单进程_docker_08

docker 单节点部署elk docker 单进程_docker 单节点部署elk_09


部署完成的界面如下:

docker 单节点部署elk docker 单进程_容器_10