ubuntu14.04 Docker安装Prometheus,Grafana监控服务器性能数据

一、安装Prometheus
docker pull prom/prometheus
二、配置Prometheus
sudo mkdir /etc/prometheus/
sudo vim /etc/prometheus/prometheus.yml
  • 添加监控节点
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'codelab-monitor'

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first.rules"
  # - "second.rules"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['172.17.0.1:9090']

  - job_name: 'mysql'
    static_configs:
      - targets: ['172.17.0.1:9104']
        labels:
          instance: mysql

  - job_name: 'monitor'
    static_configs:
      - targets: ['172.17.0.1:9100']
        labels:
          instance: monitor
  • 启动prometheus容器
# 因为目录/data用户组和用户是jtserver,docker执行命令是root用户,先将/data/lib/prometheus给其他组权限才能执行
sudo mkdir /data/lib/prometheus
sudo chmod 767 /data/lib/prometheus

docker run -d \
  -p 9090:9090 \
  --restart=always \
  --name prometheus \
  -v /data/lib/prometheus:/data/lib/prometheus \
  -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/data/lib/prometheus
三、添加服务器基本性能监控
  • 拉取node-exporter模块
docker pull prom/node-exporter
  • 启动收集参数docker
docker run -d \
  -v "/proc:/host/proc:ro" \
  -v "/sys:/host/sys:ro" \
  -v "/:/rootfs:ro" \
  --net="host" \
  --restart=always \
  prom/node-exporter \
  --path.procfs /host/proc \
  --path.sysfs /host/sys \
  --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
  • 新版本收集不到信息,使用一个旧版本
docker pull prom/node-exporter:v0.14.0
docker run -d -p 9100:9100 \
  -v "/proc:/host/proc:ro" \
  -v "/sys:/host/sys:ro" \
  -v "/:/rootfs:ro" \
  --net="host" \
  --restart=always \
  prom/node-exporter:v0.14.0 \
    --collector.procfs /host/proc \
    --collector.sysfs /host/sys \
    --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
docker pull prom/node-exporter
docker pull prom/mysqld-exporter

四、监控mysql信息

  • 下载mysql_exporter镜像
docker pull prom/mysqld-exporter
  • mysql_exporter需要链接数据库,mysql创建mysql_monitor用户,添加PROCESS, REPLICATION CLIENT权限
mysql> INSERT INTO mysql.user(Host,User,Password) VALUES("localhost", "mysql_monitor", password("mysql_monitor")); 
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_monitor'@'localhost' IDENTIFIED BY 'mysql_monitor';
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_monitor'@'%' IDENTIFIED BY 'mysql_monitor';
mysql> FLUSH PRIVILEGES;
  • docker启动mysql_exporter镜像
docker run -d -p 9104:9104 \
  --name=mysqld-exporter \
  --restart=always \
  -e DATA_SOURCE_NAME="mysql_monitor:mysql_monitor@(172.17.0.1:3306)/" \
  prom/mysqld-exporter

五、安装和配置grafana

sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_6.7.2_amd64.deb
sudo dpkg -i grafana_6.7.2_amd64.deb

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
# echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list 
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

sudo apt-get update
sudo apt-get install grafana
sudo update-rc.d grafana-server defaults
  • 添加数据源
    在这里插入图片描述
  • 选择使用Prometheus数据源,填Prometheus数据请求url
    在这里插入图片描述
六、配置percona-grafana面板
  • grafana 5.+版本dashboars.json替换成dashboards
  • 5.0以上的grafana,[dashboards.json]已经被取消,数据会存储在默认sqlite3数据库,不需要配置,官网说明http://docs.grafana.org/installation/configuration/
#################################### Dashboards History ##################
[dashboards]
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
;versions_to_keep = 20
enabled = true
path = /var/lib/grafana/dashboards

在这里插入图片描述

  • 添加percona面板,但是重启后不生效,只能一个个导入面板
git clone https://github.com/percona/grafana-dashboards.git
cp -r grafana-dashboards/dashboards /var/lib/grafana/
sudo service grafana-server restart

在这里插入图片描述

七、直接使用grafana插件

添加percona-app插件

grafana-cli plugins install percona-percona-app
sudo service grafana-server restart

在这里插入图片描述

  • 打开使用percona插件
    在这里插入图片描述

  • 使用插件效果图
    在这里插入图片描述

八、参考
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值