mysql容器部署
MySQL 是一款广泛使用的开源关系型数据库管理系统,用于存储、管理和检索结构化数据,并通过 SQL 语言支持高效率的数据操作和管理。
docker run --privileged -itd --name mysql_8 \
-e MYSQL_USER="admin" -e MYSQL_PASSWORD="123456" \
-e MYSQL_ROOT_PASSWORD="123456" \
-v /data/mysql/data/:/var/lib/mysql/ \
-p 3306:3306 leechm/mysql:8.0.18 --character-set-server=utf8 \
--collation-server=utf8_unicode_ci \
--default-authentication-plugin=mysql_native_password
portainer容器部署
Portainer 是一款用于简化 Docker 及 Kubernetes 环境管理的可视化工具,它提供图形界面以方便用户进行容器、镜像、网络和卷等资源的管理和部署,无需直接使用命令行操作。
docker run -d -p 9001:9001 -p 8000:8000 \
--name portainer000 --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/username/portainer/data:/data \
leechm/portainer:v2.0.0
node-exporter容器部署
node-exporter 的作用是将类 UNIX 系统(包括 Linux)的硬件和系统性能指标暴露为 Prometheus 可以抓取的格式,以便进行监控与分析。
容器启动命令
:
docker run -d -p 9100:9100 \-v "/proc:/host/proc:ro" \-v "/sys:/host/sys:ro" \-v "/:/rootfs:ro" \--net="host" \
--restart=always \leechm/node_exporter:0.18.1
Prometheus容器部署
Prometheus 的作用是提供了一种用于系统监控和指标度量的开源工具,它通过Pull(或Push)方式收集、存储时间序列数据,并使用强大的 PromQL 查询语言进行数据分析与告警,适用于微服务架构和云原生环境。
新建目录
mkdir -p /data/prometheus/datamkdir -p /data/prometheus/ruleschmod 777 -R /data/prometheus/data
编辑配置文件
修改文件:
vi /data/prometheus/prometheus.yml
alerting:alertmanagers:- static_configs:- targets:- IP:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files:- "rules/*.yml"global:scrape_interval: 60sevaluation_interval: 60sscrape_configs:- job_name: linuxstatic_configs:- targets: ['IP:9100']labels:instance: IP
容器启动命令
:
docker run -d \--restart=always \--name prometheus \-p 9090:9090 \-v /data/prometheus:/etc/prometheus \-v /data/prometheus/data:/prometheus \-e TZ=Asia/Shanghai \leechm/prometheus:2.17.0 \--config.file=/etc/prometheus/prometheus.yml \--web.enable-lifecycle
AlertManager容器部署
AlertManager 是 Prometheus 生态系统的一部分,其作用是处理、聚合和路由来自 Prometheus 服务器的警报,并实现告警通知抑制、分组及静默等策略,以减少重复和无关紧要的通知,提高告警的有效性和可管理性。
创建数据目录。
mkdir -p /data/alertmanager/templatemkdir -p /data/alertmanager/storagechmod 777 -R /data/alertmanager/storage
编辑配置文件
vi /data/alertmanager/alertmanager.yml
# 全局配置项
global:resolve_timeout: 5m #超时,默认5min#邮箱smtp服务smtp_smarthost: 'smtp.qq.com:465'smtp_from: '11111111@qq.com'smtp_auth_username: '11111111@qq.com'smtp_auth_password: '123456'smtp_require_tls: false# 定义模板信息
templates:- 'template/*.tmpl' # 路径# 路由
route:group_by: ['alertname'] # 报警分组依据group_wait: 10s #组等待时间group_interval: 10s # 发送前等待时间repeat_interval: 1h #重复周期receiver: 'web.hook' # 默认警报接收者# 警报接收者
receivers:
- name: 'web.hook'webhook_configs:- url: 'http://IP:端口/alertMessage/alert'
- name: 'mail' #警报名称email_configs:- to: '{{ template "email.to" . }}' #接收警报的emailhtml: '{{ template "email.to.html" . }}' # 模板send_resolved: true# 告警抑制
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']
容器启动命令
:
docker run -d \-p 9093:9093 \--name alertmanager \--restart=always \-v /data/alertmanager:/etc/alertmanager \-v /data/alertmanager/storage:/alertmanager \leechm/alertmanager:0.21.0
grafana容器部署
Grafana 是一款功能强大的数据可视化与分析平台,用于实时监控和展示来自多个数据源的时间序列数据,并提供丰富的图表、仪表板以及灵活的告警功能,常用于企业级应用性能监控和业务数据分析。
新建空文件夹
grafana-storage
,用来存储数据
mkdir /opt/grafana-storage
设置权限
chmod 777 -R /opt/grafana-storage
容器启动命令
:
docker run -d -p 7910:3000 \--name=grafana \--restart=always \-v /opt/grafana-storage/:/var/lib/grafana \leechm/grafana:v6.6.2