InfluxDB와 fluentd를 결합해보십시오.
소스만 보고 싶다고 하는 사람은 github 에 두고 있습니다.
InfluxDB 설치 및 시작
$ brew install influxdb
$ ln -sfv /usr/local/opt/influxdb/*.plist ~/Library/LaunchAgents
$ brew services start influxdb
테스트용 DB 만들기
$ curl -X POST 'http://localhost:8086/db?u=root&p=root' -d '{"name": "test"}'
샘플 프로젝트 얻기
$ git clone https://github.com/hakobera/fluent-influxdb-test
$ cd fluent-influxdb-test
$ bundle install
Fluentd 시작
$ bundle exec fluentd -c conf/fluent.conf
fluent.conf는 다음과 같습니다.
<source>
type tail
path temp/dummy.log
pos_file temp/dummy.log.pos
tag dummy.test
format ltsv
</source>
<match dummy.*>
type influxdb
host localhost
port 8086
dbname test
user root
password root
time_precision s
</match>
dummer에서 더미 데이터 투입
다른 콘솔을 열고 dummer 에서 더미 데이터를 입력합니다.
$ mkdir temp
$ bundle exec dummer -c conf/dummer.conf
이제 Fluentd를 통해 influxdb에 데이터가 저장됩니다.
쿼리를 던져보세요
URL당 요청 횟수를 10초마다 집계하는 쿼리를 작성해 봅니다.
SELECT uri, COUNT(id) FROM dummy.test GROUP BY uri, time(10s)
쿼리는 HTTP API를 통해
/db/test/series?u=root&p=root&q=QUERY
형식으로 던집니다. curl의 경우는, 이런 느낌.$ curl "http://localhost:8086/db/test/series?u=root&p=root&q=SELECT%20uri%2C%20COUNT(id)%20FROM%20dummy.test%20GROUP%20BY%20uri%2C%20time(10s)"
GUI ( http://localhost:8083 ) 로 확인하면 이런 느낌.
알다시피
fluent-plugin-influxdb은 태그 이름을 InfluxDB의 series 이름으로 만듭니다.
향후 검증할 것
참고
Reference
이 문제에 관하여(InfluxDB와 fluentd를 결합해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hakobera/items/fbe7669a1c2b763bcd8d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)