暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据分析(一)-时序数据采集(zabbix\influxdb)

社长爱编程 2021-05-24
3058

一、安装环境:


    - 操作系统:centos7.5

    - influxdb版本:v2.0.6


二、influxdb安装

1. 浏览官网  https://www.influxdata.com/

2. 点击官网右上角的get influxdb

3. 在get influxdb的 open source节点, 有influxdb的download和telegraf的download

4. 选择 download 进入引导下载引导页面

5. 我在我的机器中使用了docker进行安装 ,选择了2.0.6版本

6. 在引导页面中选择 get started标签,进入安装引导页面,这里我使用了docker安装,按照步骤,将docker 安装好,并启动

7. 这个页面上面的安装过程很清晰,直接跟着操作就可以,很容易安装,若果有小伙伴在拉取镜像的时候很慢,可以将镜像的地址改为阿里的镜像地址,很快就能下好了,下面我将主要的命名行写到下面

   下载镜像:  

     #这个命令能够查找最新的官方的influxdb的官方镜像
    docker search influxdb

       根据搜索结果,使用下面的命令可以下载最新的镜像包

      docker pull influxdb:latest

         在使用默认配置启动的时候,可以使用下面的命令行:

        docker run --name influxdb -p 8086:8086 influxdb:2.0.6

           在需要修改配置文件的时候,需要使用下面的命令行:

          #创建配置文件
          docker run \
          --rm influxdb:2.0.6 \
          influxd print-config > config.yml
          #使用自定义配置文件启动docker
          dockerrun -p 8086:8086 \
          -v $PWD/config.yml:/etc/influxdb2/config.yml \
          influxdb:2.0.6

          8. 在安装好之后,可以使用界面创建用户  或者使用命令行创建用户,两种方式都能创建

          9. 使用界面创建需要访问服务地址:  localhost:8086.

          10. 使用命令行创建需要进入到docker容器中,使用下面的命令进行创建:   

            influx setup
              #下面的内容是创建过程中的提示,按照提示我们创建自己的用户名就能够正常使用了
              Enter a primary username.
              Enter a password for your user.
              Confirm your password by entering it again.
              Enter a name for your primary organization.
              Enter a name for your primary bucket.
              Enter a retention period for your primary bucket—valid units are nanoseconds (ns), microseconds (us or µs), milliseconds (ms), seconds (s), minutes (m), hours (h), days (d), and weeks (w). Enter nothing for an infinite retention period.
              Confirm the details for your primary user, organization, and bucket.



              三、telegraf安装


              telegraf是influxdb的一个数据收集插件,安装这个软件之后,我们可以很方便的将计算机的监控数据写入到influxdb中,整个过程只需要配置telegraf的配置文件就行


              在influx的官方网站上面,我没有找到对应的docker安装方法,然后我去docker hub中去查找对应的安装:下面我给出自定义配置的安装方法


                #镜像安装
                docker search telegraf
                docker pull telegraf:latest


                  #创建配置文件
                  docker run --rm telegraf telegraf config > telegraf.conf


                    #使用自定义配置文件创建容器:
                    docker run -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf

                    在配置文件中,我们需要加入下面这个配置,这个在他的默认配置中没有

                      # ...


                      [[outputs.influxdb_v2]]
                      urls = ["http://localhost:8086"]
                      token = "$INFLUX_TOKEN"
                      organization = "example-org"
                      bucket = "example-bucket"


                      # ...

                      上面这个配置可以在influxdb的  官网的telegraf的手动配置中可以找到 https://docs.influxdata.com/influxdb/v2.0/write-data/no-code/use-telegraf/manual-config/ 


                      由于我们安装的是2.0.6版本,属于跨了一个大版本,所以telegraf的配置文件稍微有点不同,


                      上面的token我们可以在localhost:8086. 这个页面中配置,能够配置token的前提是我们通过命令创建influxdb的用户名才行。


                      四、zabbix的安装

                      zabbix 的安装相对简单,在zabbix的官方网站中,有很明确的安装说明:


                      官网地址:

                      https://www.zabbix.com/cn/


                      下载地址:

                        https://www.zabbix.com/cn/download?zabbix=5.2&os_distribution=red_hat_enterprise_linux&os_version=8&db=mysql&ws=apache

                        我个人觉得zabbix的下载安装引导界面非常友好,我们可以很直观的在这个界面中选取我们需要的产品


                        由于我的系统是centos7.5,zabbix5.4和zabbix5.2版本都不支持这个系统,所以我选择了zabbix的5.0LTS版本


                        选择好对应的系统,数据库和webserver之后,下面的内容就是直接按照官方文档中的命令进行安装了,我这里把官方文档中的安装方法抄下来:


                        下面的d步骤,需要自己有一个mysql的数据库,我使用的是开源的MySQL的一个分支数据库mariadb,这个数据库和MySQL有相同的特性;


                        安装过程如下:

                          #搜索maria 的docker镜像包
                          docker search maria
                          #下载镜像包
                          docker pull docker.io/mariadb
                          #启动镜像并配置密码:
                          docker run -d --name zabbixdb_mariadb -p 3306:3306 -v home/xzp/mariadbdata/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mariadb:latest


                          a. Install Zabbix repository   

                            # rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
                            # yum clean all


                            b. Install Zabbix server and agent 

                              yum install zabbix-server-mysql zabbix-agent


                              c. Install Zabbix frontend

                              Enable Red Hat Software Collections

                                yum install centos-release-scl

                                编辑配置文件 etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository. 

                                  [zabbix-frontend]...enabled=1...   

                                  Install Zabbix frontend packages. 

                                    yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl


                                    d. 创建初始数据库

                                    Make sure you have database server up and running.

                                    在数据库主机上运行以下代码。

                                      # mysql -uroot -ppassword
                                      mysql> create database zabbix character set utf8 collate utf8_bin;
                                      mysql> create user zabbix@localhost identified by 'password';
                                      mysql> grant all privileges on zabbix.* to zabbix@localhost;
                                      mysql> quit;

                                       导入初始架构和数据,系统将提示您输入新创建的密码。

                                        zcat usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix


                                        e. 为Zabbix server配置数据库

                                        编辑配置文件 /etc/zabbix/zabbix_server.conf

                                          DBPassword=password


                                          f. 为Zabbix前端配置PHP

                                          编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, uncomment and set 'listen' and 'server_name' directives.

                                            listen 80;
                                            server_name example.com;

                                            编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, add nginx to listen.acl_users directive.

                                              listen.acl_users = apache,nginx

                                              Then uncomment and set the right timezone for you.

                                                #这个地方改为我们的时区,上海
                                                #; php_value[date.timezone] = Europe/Riga
                                                php_value[date.timezone] = Asia/Shanghai


                                                g. 启动Zabbix server和agent进程

                                                启动Zabbix server和agent进程,并为它们设置开机自启:

                                                  # systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
                                                  # systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

                                                  经过上面的安装之后,我们就能够在zabbix的前端进行数据库配置了;


                                                  上面步骤f我们配置了php,我们使用php的访问网址就能够配置zabbix的数据库了,之后我们就能够收集数据了~

                                                  文章转载自社长爱编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                  评论