部署

官方的下载地址:https://grafana.com/grafana/download

  1. wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.1.3-1.x86_64.rpm
  2. sudo yum install grafana-enterprise-8.1.3-1.x86_64.rpm
  3. systemctl restart grafana-server.service

配置参考:

  1. [paths]
  2. logs = /var/log/grafana
  3. [server]
  4. protocol = http
  5. http_addr = 0.0.0.0
  6. http_port = 80
  7. domain = grafana.dev.ops.com

协议

http, https,h2或socket

http_地址

要绑定到的 IP 地址。如果为空将绑定到所有接口

http_port

要绑定到的端口,默认为3000。要使用端口 80,您需要授予 Grafana 二进制权限,例如:
$ sudo setcap ‘cap_net_bind_service=+ep’ /usr/sbin/grafana-server

或者使用以下命令将端口 80 重定向到 Grafana 端口:
$ sudo iptables -t nat -A PREROUTING -p tcp —dport 80 -j REDIRECT —to-port 3000

另一种方法是在 Grafana 前面放置一个像 Nginx 或 Apache 这样的 Web 服务器,并让它们代理对 Grafana 的请求。
sudo setcap ‘cap_net_bind_service=+ep’ /usr/sbin/grafana-server

grafana.ini 官方的配置解释
https://grafana.com/docs/grafana/latest/administration/configuration/

高可用部署:

下载部署mysql 设置主备统一的数据源

  1. #下载官方数据库 5.7
  2. wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  3. #使用上面的命令就直接下载了安装用的Yum Repository
  4. yum -y install mysql57-community-release-el7-10.noarch.rpm
  5. #下载mysql-server
  6. yum -y install mysql-community-server
  7. #启动mysql
  8. systemctl restart mysql
  9. #查看数据库密码
  10. grep "pass" /var/log/mysqld.log
  11. #登录数据库
  12. mysql -uroot -p 密码
  13. #提示要用ALTER USER修改密码才可以 但是如果想要设置非常简单的密码,比如123456会提示密码不符合要求
  14. mysql> set global validate_password_policy=0;
  15. mysql> set global validate_password_length=1;
  16. mysql> alter user 'root'@'localhost' identified by '123456';
  17. #创建库
  18. mysql> CREATE DATABASE IF NOT EXISTS grafana default charset utf8 COLLATE utf8_general_ci;
  19. #进入库
  20. mysql> use grafana;
  21. #创建表
  22. mysql> CREATE TABLE `session` (
  23. `key` CHAR(16) NOT NULL,
  24. `data` BLOB,
  25. `expiry` INT(11) UNSIGNED NOT NULL,
  26. PRIMARY KEY (`key`)
  27. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  28. #创建用户访问
  29. CREATE USER 'grafana'@'10.111.22.16' IDENTIFIED BY '123456';
  30. CREATE USER 'grafana'@'10.111.22.17' IDENTIFIED BY '123456';
  31. #授权访问数据库
  32. grant all privileges on *.* to 'grafana'@'10.111.22.16' identified by '123456';
  33. grant all privileges on *.* to 'grafana'@'10.111.22.17' identified by '123456';
  34. flush privileges;
  35. #查看事件
  36. mysql> show processlist;

grafana 配置

  1. [database]
  2. type = mysql
  3. host = 192.168.168.155:3306
  4. name = grafana
  5. user = grafana
  6. password = 123456
  7. [session]
  8. provider = mysql
  9. provider_config = grafana:123456@tcp(192.168.168.155:3306)/grafana
  10. cookie_name = grafana_session
  11. cookie_secure = false
  12. session_life_time = 86400
  13. [remote_cache]
  14. type = database
  15. connstr = grafana:123456@tcp(10.111.22.16:3306)/grafana
  16. connstr = 用户:密码@tcp(地址:端口)/库

部署nginx做反向代理

安装:

  1. #使用yum直接安装即可
  2. yum -y install nginx
  3. #启动
  4. systemctl restart nginx

配置

  1. #配置grafana 对外的配置
  2. cat > /etc/nginx/conf.d/grafana.conf <<EOF
  3. server {
  4. listen 80;
  5. server_name grafana.devops.ctvit;
  6. access_log /var/log/nginx/access.log main;
  7. error_log /var/log/nginx/error.log;
  8. location / {
  9. proxy_set_header Host $host;
  10. proxy_set_header X-Real-IP $remote_addr;
  11. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  12. proxy_set_header X-Forwarded-For $remote_addr;
  13. proxy_connect_timeout 30;
  14. proxy_send_timeout 30;
  15. proxy_read_timeout 30;
  16. proxy_next_upstream http_500 http_502 error timeout invalid_header http_503;
  17. proxy_pass http://mdash_server;
  18. }
  19. }
  20. EOF
  21. #配置grafana的反向代理
  22. cat > /etc/nginx/conf.d/http_upstream_grafana.conf <<EOF
  23. upstream mdash_server {
  24. server 192.168.168.156:3000 weight=10 fail_timeout=10s;
  25. server 192.168.138.158:3000 weight=10 fail_timeout=10s;
  26. keepalive 65;
  27. }
  28. EOF
  29. #主配置文件配置
  30. cat /etc/nginx/nginx.conf
  31. http {
  32. .....
  33. proxy_headers_hash_max_size 51200;
  34. proxy_headers_hash_bucket_size 6400;
  35. .....
  36. }