# log_process **Repository Path**: shu2015626/log_process ## Basic Information - **Project Name**: log_process - **Description**: 慕课网log_process学习 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-25 - **Last Updated**: 2021-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LogProcess mock_data由于也是main包,所以这里单独放到了一个文件夹,go build后只把二进制文件拿出来使用 1.先build出一个mock_data.exe的程序,放到项目根目录来使用 2.自己建一个access.log,放到项目根目录 ![](./images/demand.png) ## 1.influx环境准备 目前influxdb最新版本为2.0,这个跟1.0的区别很大。 ![](./images/influxdb.png) ### 1.1 安装influxdb #### 1.1.1 docker install influxdb server ```shell script docker pull influxdb:1.7.8 docker run -d -p 8088:8088 -p 8086:8086 --name influxdb influxdb:1.7.8 ``` #### 1.1.2 直接安装到系统 influxdb 1.7.8 ```shell script wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpm sudo yum localinstall influxdb-1.7.8.x86_64.rpm ``` ### 1.2 创建用户和数据库 // 进入交互环境 test connect to server ```shell script influx ``` // 创建用户 create user create user "firstinfluxdb" with password 'firstinfluxdb' with all privileges; //测试链接 ```shell script influx -host 'localhost' -port '8086' -username 'firstinfluxdb' ``` ### 1.3 创建数据库 // create database create database imooc_logprocess // show all measurements use imooc_logprocess SHOW MEASUREMENTS // download lib ```shell script wget https://github.com/influxdata/influxdb/archive/1.8.zip unzip 1.8.zip rm -rf influxdb-1.8/.github mv influxdb-1.8 $GOPATH/src/github.com/influxdb ``` ## 2.程序运行 ```shell script go run log_process.go -path ./access.log -influxDsn http://192.168.56.101:8086@firstinfluxdb@firstinfluxdb@imooc_logprocess@s ``` ## 3.grafana ### 3.1 安装grafana ```shell script docker pull grafana/grafana:6.7.4 ``` ### 3.2 启动grafana ```shell script docker run --name=grafana -d -p 3000:3000 grafana/grafana:6.7.4 ``` ### 3.3 浏览器测试 访问 http://192.168.56.101:3000 用户名密码默认都是admin,第一次登录会提示修改。 ## 4.增加程序自身监控 ![](./images/程序监控需求.png) ## 5.其他 1. mock_data由于也是main包,所以这里单独放到了一个文件夹,go build后只把二进制文件拿出来使用即可 2. 课程结尾,老师提到到优化,放到log_process_full中,可自行查看。@ https://github.com/itsmikej/imooc_logprocess