grafana 8.x配置日报定时发送配置及踩坑经过
环境说明
系统版本:CentOS 7.9
Grafana版本:8.5.2
配置说明
想要每日定时发送系统运行状态给leader和运维管理人员查看,因为开源版本并不具备enterprise那样拥有reporting功能,假如我们需要实现类似的功能,需要依靠IzakMarais/reporter: Service that generates a PDF report from a Grafana dashboard (github.com)这个项目去实现。
安装
安装grafana-reporter
安装texlive包和go
yum install go gityum install texlive-pdftex texlive-latex-bin texlive-texconfig* texlive-latex* texlive-metafont* texlive-cmap* texlive-ec texlive-fncychap* texlive-pdftex-def texlive-fancyhdr* texlive-titlesec* texlive-multirow texlive-framed* texlive-wrapfig* texlive-parskip* texlive-caption texlive-ifluatex* texlive-collection-fontsrecommended texlive-collection-latexrecommended texinfo-tex
获取grafana-reporter的源码和依赖包
go get github.com/IzakMarais/reporter/…
编译安装二进制文件
go install github.com/IzakMarais/reporter/cmd/grafana-reporter@latest
编译完成后,会在go/bin/下生成grafana-reporter二进制文件
添加服务
cat > /etc/systemd/system/grafana-reporter.service << EOF [Unit] Description=Grafana Reporter After=grafana-reporter.service [Service] Type=sample ExecStart=/root/go/bin/grafana-reporter -ip localhost:3000 ExecStop=pkill -9 grafana-report StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target EOF
配置开机自启动
systemctl daemon-reload systemctl enable --now grafana-reporter.service
防火墙开放8686端口
firewall-cmd --zone=public --permanent--add-port=8686/tcp firewall-cmd --reload
开始配置grafana links
需要安装Grafana Image Renderer插件,不然可能出现下图所示的错误
grafana-cli plugins install grafana-image-renderer
重启服务
systemctl restart grafana-server
添加API Keys,roles选择Viewer即可。
生成后,会显示Key,点击Copy,复制下来Key,准备添加到links配置中
选中需要daily report的dashboard,点击设备按钮开始配置
URL这里填写http://<grafana-access-ip>:3000/api/v5/report/<dashboard-path>?apitoken=<key-create>
dashboard-path路径可以从这里查看
完成后,回到dashboard,点解report查看是否生效
假如遇到了下述的问题,那可能是缺少一些依赖包
我们可以从/var/log/grafana/grafana.log查看到底缺少哪些包,如下图所示
解决依赖问题
yum install atk -yyum install at-spi2-atk -yyum -y install cups-libs yum install libXss* -yyum install libX11 yum install -y libXcomposite libXcomposite-devel
假如日志没有其他报错后,应该是可以生成pdf文件了
开始配置定时发送邮件
安装mail
yum install -y mailx
修改/etc/mail.rc,对该文件追加下述内容,因为我用的是qq企业邮箱
cat >> /etc/mail.rc << EOF setfrom=<mail> setsmtp=smtps://smtp.exmail.qq.com:465 setsmtp-auth-user=<mail> setsmtp-auth-password=wbxMo9q9gaUWej5Z setsmtp-auth=login setssl-verify=ignore setnss-config-dir=/etc/pki/nssdb/ EOF
接下来还需要写个脚本自动发送。