├── .editorconfig ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── _meta ├── beat.yml ├── fields.generated.yml ├── fields.yml └── kibana │ ├── 5 │ └── index-pattern │ │ └── eosbeat.json │ └── 6 │ └── index-pattern │ └── eosbeat.json ├── beater └── eosbeat.go ├── cmd └── root.go ├── config ├── config.go └── config_test.go ├── data └── meta.json ├── docs ├── fields.asciidoc └── index.asciidoc ├── eosbeat.conf.yml ├── eosbeat.pid ├── eosbeat.reference.yml ├── eosbeat.tar.gz ├── eosbeat.yml ├── err.log ├── fields.yml ├── logs └── eosbeat ├── main.go ├── main_test.go ├── nodes.json ├── out.log ├── release ├── eosbeat ├── eosbeat.conf.yml └── nodes.json ├── run-eosbeat.sh ├── stop-eosbeat.sh └── tests └── system ├── config └── eosbeat.yml.j2 ├── eosbeat.py ├── requirements.txt └── test_base.py /.editorconfig: -------------------------------------------------------------------------------- 1 | # See: http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | 10 | [*.json] 11 | indent_size = 4 12 | indent_style = space 13 | 14 | [*.py] 15 | indent_style = space 16 | indent_size = 4 17 | 18 | [*.yml] 19 | indent_style = space 20 | indent_size = 2 21 | 22 | [Makefile] 23 | indent_style = tab 24 | 25 | [Vagrantfile] 26 | indent_size = 2 27 | indent_style = space 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /build 3 | /vendor 4 | .DS_Store 5 | /eosbeat 6 | /eosbeat.test 7 | *.pyc 8 | /release 9 | eosbeat.pid 10 | eosbeat 11 | /logs 12 | *.log 13 | /data 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | services: 4 | - docker 5 | 6 | language: go 7 | 8 | go: 9 | - 1.9.4 10 | 11 | os: 12 | - linux 13 | - osx 14 | 15 | env: 16 | matrix: 17 | - TARGETS="check" 18 | - TARGETS="testsuite" 19 | 20 | global: 21 | # Cross-compile for amd64 only to speed up testing. 22 | - GOX_FLAGS="-arch amd64" 23 | 24 | addons: 25 | apt: 26 | packages: 27 | - python-virtualenv 28 | 29 | before_install: 30 | - umask 022 31 | # Redo the travis setup but with the elastic/libbeat path. This is needed so the package path is correct 32 | - mkdir -p $HOME/gopath/src/github.com/eosrio/eosbeat/ 33 | - rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/eosrio/eosbeat/ 34 | - export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/eosrio/eosbeat/ 35 | - cd $HOME/gopath/src/github.com/eosrio/eosbeat/ 36 | 37 | install: 38 | - true 39 | 40 | script: 41 | - make $TARGETS 42 | 43 | after_success: 44 | # Copy full.cov to coverage.txt because codecov.io requires this file 45 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosrio/eosbeat/be21d595ee3a14c4d2f60dd026c3e9cc7692fa11/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 EOS Rio 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | BEAT_NAME=eosbeat 2 | BEAT_PATH=github.com/eosrio/eosbeat 3 | BEAT_GOPATH=$(firstword $(subst :, ,${GOPATH})) 4 | BEAT_URL=https://${BEAT_PATH} 5 | SYSTEM_TESTS=false 6 | TEST_ENVIRONMENT=false 7 | ES_BEATS?=./vendor/github.com/elastic/beats 8 | GOPACKAGES=$(shell govendor list -no-status +local) 9 | PREFIX?=. 10 | NOTICE_FILE=NOTICE 11 | GOBUILD_FLAGS=-i -ldflags "-X $(BEAT_PATH)/vendor/github.com/elastic/beats/libbeat/version.buildTime=$(NOW) -X $(BEAT_PATH)/vendor/github.com/elastic/beats/libbeat/version.commit=$(COMMIT_ID)" 12 | GOOS=darwin 13 | GOARCH=amd64 14 | 15 | # Path to the libbeat Makefile 16 | -include $(ES_BEATS)/libbeat/scripts/Makefile 17 | 18 | # Initial beat setup 19 | .PHONY: setup 20 | setup: copy-vendor 21 | $(MAKE) update 22 | 23 | # Copy beats into vendor directory 24 | .PHONY: copy-vendor 25 | copy-vendor: 26 | mkdir -p vendor/github.com/elastic/ 27 | cp -R ${BEAT_GOPATH}/src/github.com/elastic/beats vendor/github.com/elastic/ 28 | rm -rf vendor/github.com/elastic/beats/.git 29 | 30 | .PHONY: git-init 31 | git-init: 32 | git init 33 | git add README.md CONTRIBUTING.md 34 | git commit -m "Initial commit" 35 | git add LICENSE 36 | git commit -m "Add the LICENSE" 37 | git add .gitignore 38 | git commit -m "Add git settings" 39 | git add . 40 | git reset -- .travis.yml 41 | git commit -m "Add eosbeat" 42 | git add .travis.yml 43 | git commit -m "Add Travis CI" 44 | 45 | # This is called by the beats packer before building starts 46 | .PHONY: before-build 47 | before-build: 48 | 49 | # Collects all dependencies and then calls update 50 | .PHONY: collect 51 | collect: 52 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | eosbeat 2 | Copyright 2017 EOS Rio 3 | 4 | This product includes software developed by The Apache Software 5 | Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | eosbeat 4 |
5 |

6 |

7 | Network metrics tool for EOS.IO networks based on Elastic Beats 8 |

9 | 10 | *Made with :hearts: by [EOS Rio](https://steemit.com/@eosrio)* 11 | 12 | # Introduction 13 | 14 | Eosbeat will allow nodes on a EOS.IO network to consume data from an api that provides optimized topology information, thus being able to automatically set the optimal peers of a node. 15 | 16 | Eosbeat works by collecting response times from your server to all other nodes on your network, as defined by the nodes.json file. The data is sent to EOS Rio server, which will be processed later to provide an overall view of network performance from EOS.IO nodes. 17 | The ideal scenario is to have eosbeat running on all participating nodes of a network. 18 | 19 | We will be soon releasing a dashboard page with all data collected from the current test networks. 20 | 21 | A central elasticsearch server is useful to streamline the development process, but as soon as the topology optimization algorithm is tuned we can move it to a smart contract based solution. 22 | 23 | ## Running 24 | 25 | To run on your node simply download the latest release, there's no need to install any dependencies. 26 | ``` 27 | $ wget https://github.com/eosrio/eosbeat/releases/download/v0.3.0/eosbeat-v0.3.0.tar.gz 28 | $ tar -xzvf eosbeat-v0.3.0.tar.gz 29 | $ cd release 30 | ``` 31 | Edit `eosbeat.conf.yml` and set username and password 32 | 33 | The current nodes will be loaded from the node.json file, which is currently set to the Jungle Testnet 34 | 35 | To start eosbeat run: 36 | ``` 37 | $ ./run-eosbeat.sh 38 | ``` 39 | 40 | Check the output logs 41 | ``` 42 | $ tail -f out.log 43 | ``` 44 | 45 | Stop with: 46 | ``` 47 | $ ./stop-eosbeat.sh 48 | ``` 49 | 50 | 51 | ## Building Instructions 52 | 53 | Ensure that this folder is at the following location: 54 | `${GOPATH}/src/github.com/eosrio/eosbeat` 55 | 56 | ### Requirements 57 | 58 | * [Golang](https://golang.org/dl/) 1.7 59 | 60 | ### Init Project 61 | To get running with Eosbeat and also install the 62 | dependencies, run the following command: 63 | 64 | ``` 65 | make setup 66 | ``` 67 | 68 | It will create a clean git history for each major step. Note that you can always rewrite the history if you wish before pushing your changes. 69 | 70 | To push Eosbeat in the git repository, run the following commands: 71 | 72 | ``` 73 | git remote set-url origin https://github.com/eosrio/eosbeat 74 | git push origin master 75 | ``` 76 | 77 | For further development, check out the [beat developer guide](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html). 78 | 79 | ### Build 80 | 81 | To build the binary for Eosbeat run the command below. This will generate a binary 82 | in the same directory with the name eosbeat. 83 | 84 | ``` 85 | make 86 | ``` 87 | 88 | ### Run 89 | 90 | To run Eosbeat with debugging output enabled, run: 91 | 92 | ``` 93 | ./eosbeat -c eosbeat.yml -e -d "*" 94 | ``` 95 | 96 | 97 | ### Test 98 | 99 | To test Eosbeat, run the following command: 100 | 101 | ``` 102 | make testsuite 103 | ``` 104 | 105 | alternatively: 106 | ``` 107 | make unit-tests 108 | make system-tests 109 | make integration-tests 110 | make coverage-report 111 | ``` 112 | 113 | The test coverage is reported in the folder `./build/coverage/` 114 | 115 | ### Update 116 | 117 | Each beat has a template for the mapping in elasticsearch and a documentation for the fields 118 | which is automatically generated based on `fields.yml` by running the following command. 119 | 120 | ``` 121 | make update 122 | ``` 123 | 124 | 125 | ### Cleanup 126 | 127 | To clean Eosbeat source code, run the following commands: 128 | 129 | ``` 130 | make fmt 131 | make simplify 132 | ``` 133 | 134 | To clean up the build directory and generated artifacts, run: 135 | 136 | ``` 137 | make clean 138 | ``` 139 | 140 | 141 | ### Clone 142 | 143 | To clone Eosbeat from the git repository, run the following commands: 144 | 145 | ``` 146 | mkdir -p ${GOPATH}/src/github.com/eosrio/eosbeat 147 | git clone https://github.com/eosrio/eosbeat ${GOPATH}/src/github.com/eosrio/eosbeat 148 | ``` 149 | 150 | 151 | For further development, check out the [beat developer guide](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html). 152 | 153 | 154 | ## Packaging 155 | 156 | The beat frameworks provides tools to crosscompile and package your beat for different platforms. This requires [docker](https://www.docker.com/) and vendoring as described above. To build packages of your beat, run the following command: 157 | 158 | ``` 159 | make package 160 | ``` 161 | 162 | This will fetch and create all images required for the build process. The whole process to finish can take several minutes. 163 | -------------------------------------------------------------------------------- /_meta/beat.yml: -------------------------------------------------------------------------------- 1 | ################### Eosbeat Configuration Example ######################### 2 | 3 | ############################# Eosbeat ###################################### 4 | 5 | eosbeat: 6 | # Defines how often an event is sent to the output 7 | period: 1s 8 | -------------------------------------------------------------------------------- /_meta/fields.generated.yml: -------------------------------------------------------------------------------- 1 | - key: eosbeat 2 | title: eosbeat 3 | description: 4 | fields: 5 | - name: counter 6 | type: long 7 | required: true 8 | description: > 9 | PLEASE UPDATE DOCUMENTATION 10 | -------------------------------------------------------------------------------- /_meta/fields.yml: -------------------------------------------------------------------------------- 1 | - key: eosbeat 2 | title: eosbeat 3 | description: 4 | fields: 5 | - name: counter 6 | type: long 7 | required: true 8 | description: > 9 | PLEASE UPDATE DOCUMENTATION 10 | -------------------------------------------------------------------------------- /_meta/kibana/5/index-pattern/eosbeat.json: -------------------------------------------------------------------------------- 1 | { 2 | "fieldFormatMap": "{\"@timestamp\":{\"id\":\"date\"}}", 3 | "fields": "[{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.hostname\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.timezone\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.version\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"@timestamp\",\"scripted\":false,\"searchable\":true,\"type\":\"date\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"tags\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"fields\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.message\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.code\",\"scripted\":false,\"searchable\":true,\"type\":\"number\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.provider\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.instance_id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.instance_name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.machine_type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.availability_zone\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.project_id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.region\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.image\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.labels\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.hostname\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.architecture\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.platform\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.version\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.family\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.pod.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.namespace\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.node.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.labels\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.annotations\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.container.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.container.image\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"counter\",\"scripted\":false,\"searchable\":true,\"type\":\"number\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_id\",\"scripted\":false,\"searchable\":false,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_index\",\"scripted\":false,\"searchable\":false,\"type\":\"string\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_score\",\"scripted\":false,\"searchable\":false,\"type\":\"number\"}]", 4 | "timeFieldName": "@timestamp", 5 | "title": "eosbeat-*" 6 | } -------------------------------------------------------------------------------- /_meta/kibana/6/index-pattern/eosbeat.json: -------------------------------------------------------------------------------- 1 | { 2 | "objects": [ 3 | { 4 | "attributes": { 5 | "fieldFormatMap": "{\"@timestamp\":{\"id\":\"date\"}}", 6 | "fields": "[{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.hostname\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.timezone\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"beat.version\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"@timestamp\",\"scripted\":false,\"searchable\":true,\"type\":\"date\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"tags\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"fields\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.message\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.code\",\"scripted\":false,\"searchable\":true,\"type\":\"number\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"error.type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.provider\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.instance_id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.instance_name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.machine_type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.availability_zone\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.project_id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"meta.cloud.region\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.image\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"docker.container.labels\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.hostname\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.id\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.architecture\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.platform\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.version\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"host.os.family\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.pod.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.namespace\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.node.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.labels\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.annotations\",\"scripted\":false,\"searchable\":true},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.container.name\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"kubernetes.container.image\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":true,\"indexed\":true,\"name\":\"counter\",\"scripted\":false,\"searchable\":true,\"type\":\"number\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_id\",\"scripted\":false,\"searchable\":false,\"type\":\"string\"},{\"aggregatable\":true,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_type\",\"scripted\":false,\"searchable\":true,\"type\":\"string\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_index\",\"scripted\":false,\"searchable\":false,\"type\":\"string\"},{\"aggregatable\":false,\"analyzed\":false,\"count\":0,\"doc_values\":false,\"indexed\":false,\"name\":\"_score\",\"scripted\":false,\"searchable\":false,\"type\":\"number\"}]", 7 | "timeFieldName": "@timestamp", 8 | "title": "eosbeat-*" 9 | }, 10 | "id": "eosbeat-*", 11 | "type": "index-pattern", 12 | "version": 1 13 | } 14 | ], 15 | "version": "7.0.0-alpha1" 16 | } -------------------------------------------------------------------------------- /beater/eosbeat.go: -------------------------------------------------------------------------------- 1 | package beater 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | "github.com/elastic/beats/libbeat/beat" 7 | "github.com/elastic/beats/libbeat/common" 8 | "github.com/elastic/beats/libbeat/logp" 9 | "github.com/eosrio/eosbeat/config" 10 | "net/http" 11 | "encoding/json" 12 | "os" 13 | "io/ioutil" 14 | "net" 15 | "log" 16 | "net/http/httptrace" 17 | "strings" 18 | "crypto/tls" 19 | ) 20 | 21 | type Eosbeat struct { 22 | done chan struct{} 23 | config config.Config 24 | client beat.Client 25 | } 26 | 27 | // Creates beater 28 | func New(b *beat.Beat, cfg *common.Config) (beat.Beater, error) { 29 | c := config.DefaultConfig 30 | if err := cfg.Unpack(&c); err != nil { 31 | return nil, fmt.Errorf("error reading config file: %v", err) 32 | } 33 | 34 | bt := &Eosbeat{ 35 | done: make(chan struct{}), 36 | config: c, 37 | } 38 | return bt, nil 39 | } 40 | 41 | type GetInfoResponse struct { 42 | ServerVersion string `json:"server_version"` 43 | HeadBlockNum int `json:"head_block_num"` 44 | HeadBlockProducer string `json:"head_block_producer"` 45 | HeadBlockTime string `json:"head_block_time"` 46 | HeadBlockID string `json:"head_block_id"` 47 | LastIrreversibleBlockNum int `json:"last_irreversible_block_num"` 48 | } 49 | 50 | type DetailedTraceResponse struct { 51 | Dns float64 52 | Tls float64 53 | Conn float64 54 | Resp float64 55 | Full float64 56 | } 57 | 58 | type NodeList struct { 59 | Nodes []Node `json:"blockProducerList"` 60 | Network string `json:"network"` 61 | } 62 | 63 | type Node struct { 64 | Name string `json:"bp_name"` 65 | Org string `json:"organisation"` 66 | Location string `json:"location"` 67 | NodeAddress string `json:"node_addr"` 68 | PortHTTP string `json:"port_http"` 69 | PortSSL string `json:"port_ssl"` 70 | PortP2P string `json:"port_p2p"` 71 | ProducerName string `json:"bp_name"` 72 | Coordinates string 73 | Responses []float64 74 | AVR float64 75 | } 76 | 77 | // Define client with 5 second timeout 78 | var httpClient = &http.Client{Timeout: 5 * time.Second} 79 | 80 | func findPublicIP(server string) string { 81 | resp, err := httpClient.Get(server) 82 | if err != nil { 83 | os.Stderr.WriteString(err.Error()) 84 | os.Stderr.WriteString("\n") 85 | os.Exit(1) 86 | } 87 | defer resp.Body.Close() 88 | if resp.StatusCode == http.StatusOK { 89 | bodyBytes, _ := ioutil.ReadAll(resp.Body) 90 | bodyString := string(bodyBytes) 91 | return bodyString 92 | } else { 93 | return "none" 94 | } 95 | } 96 | 97 | func trace(url string, target interface{}) (DetailedTraceResponse, error) { 98 | req, err := http.NewRequest("GET", url, nil) 99 | if err != nil { 100 | log.Fatal(err) 101 | } 102 | 103 | var startDNS time.Time 104 | var dnsTime time.Duration 105 | 106 | var startCONN time.Time 107 | var timeCONN time.Duration 108 | 109 | var refFRB time.Time 110 | var timeFRB time.Duration 111 | 112 | var refTLS time.Time 113 | var timeTLS time.Duration 114 | 115 | trace := &httptrace.ClientTrace{ 116 | DNSStart: func(dnsInfo httptrace.DNSStartInfo) { 117 | startDNS = time.Now() 118 | }, 119 | DNSDone: func(dnsDoneInfo httptrace.DNSDoneInfo) { 120 | dnsTime = time.Since(startDNS) 121 | }, 122 | ConnectStart: func(network, addr string) { 123 | startCONN = time.Now() 124 | }, 125 | ConnectDone: func(network, addr string, err error) { 126 | timeCONN = time.Since(startCONN) 127 | }, 128 | TLSHandshakeStart: func() { 129 | refTLS = time.Now() 130 | }, 131 | TLSHandshakeDone: func(state tls.ConnectionState, e error) { 132 | timeTLS = time.Since(refTLS) 133 | }, 134 | GotConn: func(info httptrace.GotConnInfo) { 135 | refFRB = time.Now() 136 | }, 137 | GotFirstResponseByte: func() { 138 | timeFRB = time.Since(refFRB) 139 | }, 140 | } 141 | dialer := &net.Dialer{Timeout: 3 * time.Second} 142 | req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) 143 | transport := &http.Transport{ 144 | DialContext: (dialer).DialContext, 145 | TLSHandshakeTimeout: 2 * time.Second, 146 | } 147 | client := &http.Client{ 148 | Transport: transport, 149 | Timeout: time.Duration(5000) * time.Millisecond, 150 | } 151 | now := time.Now() 152 | res, err := client.Do(req) 153 | cost := time.Since(now) 154 | if err != nil { 155 | fmt.Println(err) 156 | return DetailedTraceResponse{}, err 157 | } 158 | defer res.Body.Close() 159 | 160 | response := DetailedTraceResponse{ 161 | Dns: dnsTime.Seconds() * 1000, 162 | Tls: timeTLS.Seconds() * 1000, 163 | Conn: timeCONN.Seconds() * 1000, 164 | Resp: timeFRB.Seconds() * 1000, 165 | Full: cost.Seconds() * 1000, 166 | } 167 | 168 | fmt.Printf("DNS Resolution: %.2f ms\n", response.Dns) 169 | fmt.Printf("TLS Handshake: %.2f ms\n", response.Tls) 170 | fmt.Printf("Connection Time: %.2f ms\n", response.Conn) 171 | fmt.Printf("Response Time: %.2f ms\n", response.Resp) 172 | fmt.Printf("Client Cost: %.2f ms\n", response.Full) 173 | 174 | // Decode JSON 175 | if res.StatusCode == 200 { 176 | decErr := json.NewDecoder(res.Body).Decode(target) 177 | if decErr == nil { 178 | return response, err 179 | } else { 180 | fmt.Println("JSON Decode Error: ", decErr) 181 | return DetailedTraceResponse{}, err 182 | } 183 | } else { 184 | fmt.Println("HTTP Status Code: ", res.StatusCode) 185 | return DetailedTraceResponse{}, err 186 | } 187 | } 188 | 189 | var externalIP string 190 | var proto = "http://" 191 | var endpoint = "/v1/chain/get_info" 192 | var testnetName string 193 | 194 | func genEvent(listOfNodes NodeList, index int) beat.Event { 195 | element := listOfNodes.Nodes[index] 196 | nodeURL := element.NodeAddress + ":" + element.PortHTTP 197 | data := new(GetInfoResponse) 198 | // Call HTTP Tracer 199 | response, traceErr := trace(proto+nodeURL+endpoint, &data) 200 | if traceErr != nil { 201 | fmt.Println("Server (" + nodeURL + ") is down") 202 | return beat.Event{} 203 | } else { 204 | fmt.Println("Target: "+element.NodeAddress+" | Latency:", response.Full, "ms") 205 | 206 | // Create and submit beat event 207 | return beat.Event{ 208 | Timestamp: time.Now(), 209 | Fields: common.MapStr{ 210 | "network": testnetName, 211 | "target": element.NodeAddress, 212 | "source": externalIP, 213 | "latency_full": response.Full, 214 | "latency_dns": response.Dns, 215 | "latency_conn": response.Conn, 216 | "latency_resp": response.Resp, 217 | "block": data.HeadBlockNum, 218 | "current_producer": data.HeadBlockProducer, 219 | "bp_name": element.ProducerName, 220 | "lastirrb": data.LastIrreversibleBlockNum, 221 | "org": element.Org, 222 | "location": element.Location, 223 | }, 224 | } 225 | } 226 | } 227 | 228 | func (bt *Eosbeat) Run(b *beat.Beat) error { 229 | logp.Info("eosbeat is running! Hit CTRL-C to stop it.") 230 | 231 | filePath := "nodes.json" 232 | jsonFile, openerr := os.Open(filePath) 233 | if openerr != nil { 234 | fmt.Println(openerr) 235 | } 236 | defer jsonFile.Close() 237 | byteValue, _ := ioutil.ReadAll(jsonFile) 238 | var nodeList NodeList 239 | json.Unmarshal(byteValue, &nodeList) 240 | testnetName = nodeList.Network 241 | fmt.Println("Active Testnet: ", testnetName) 242 | fmt.Println("Node count: ", len(nodeList.Nodes)) 243 | externalIP = findPublicIP("https://api.ipify.org") 244 | externalIP = strings.TrimSuffix(externalIP, "\n") 245 | fmt.Println("Firing requests from:", externalIP) 246 | 247 | var err error 248 | bt.client, err = b.Publisher.Connect() 249 | if err != nil { 250 | return err 251 | } 252 | 253 | ticker := time.NewTicker(bt.config.Period) 254 | var index int 255 | nodeCount := len(nodeList.Nodes) 256 | index = 0 257 | for { 258 | select { 259 | case <-bt.done: 260 | return nil 261 | case <-ticker.C: 262 | } 263 | fmt.Println("\n--------------------", index+1, "/", nodeCount, "--------------------") 264 | evt := genEvent(nodeList, index) 265 | if evt.Fields != nil { 266 | bt.client.Publish(evt) 267 | } 268 | index++ 269 | if index >= len(nodeList.Nodes) { 270 | index = 0 271 | } 272 | } 273 | } 274 | 275 | func (bt *Eosbeat) Stop() { 276 | bt.client.Close() 277 | close(bt.done) 278 | } 279 | -------------------------------------------------------------------------------- /cmd/root.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | 3 | import ( 4 | "github.com/eosrio/eosbeat/beater" 5 | 6 | cmd "github.com/elastic/beats/libbeat/cmd" 7 | ) 8 | 9 | // Name of this beat 10 | var Name = "eosbeat" 11 | 12 | // RootCmd to handle beats cli 13 | var RootCmd = cmd.GenRootCmd(Name, "", beater.New) 14 | -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- 1 | // Config is put into a different package to prevent cyclic imports in case 2 | // it is needed in several locations 3 | 4 | package config 5 | 6 | import "time" 7 | 8 | type Config struct { 9 | Period time.Duration `config:"period"` 10 | } 11 | 12 | var DefaultConfig = Config{ 13 | Period: 1 * time.Second, 14 | } 15 | -------------------------------------------------------------------------------- /config/config_test.go: -------------------------------------------------------------------------------- 1 | // +build !integration 2 | 3 | package config 4 | -------------------------------------------------------------------------------- /data/meta.json: -------------------------------------------------------------------------------- 1 | {"uuid":"6468972c-5756-46bb-8d0c-04c8fecb777d"} 2 | -------------------------------------------------------------------------------- /docs/fields.asciidoc: -------------------------------------------------------------------------------- 1 | 2 | //// 3 | This file is generated! See _meta/fields.yml and scripts/generate_field_docs.py 4 | //// 5 | 6 | [[exported-fields]] 7 | = Exported fields 8 | 9 | [partintro] 10 | 11 | -- 12 | This document describes the fields that are exported by eosbeat. They are 13 | grouped in the following categories: 14 | 15 | * <> 16 | * <> 17 | * <> 18 | * <> 19 | * <> 20 | * <> 21 | 22 | -- 23 | [[exported-fields-beat]] 24 | == Beat fields 25 | 26 | Contains common beat fields available in all event types. 27 | 28 | 29 | 30 | [float] 31 | === `beat.name` 32 | 33 | The name of the Beat sending the log messages. If the Beat name is set in the configuration file, then that value is used. If it is not set, the hostname is used. To set the Beat name, use the `name` option in the configuration file. 34 | 35 | 36 | [float] 37 | === `beat.hostname` 38 | 39 | The hostname as returned by the operating system on which the Beat is running. 40 | 41 | 42 | [float] 43 | === `beat.timezone` 44 | 45 | The timezone as returned by the operating system on which the Beat is running. 46 | 47 | 48 | [float] 49 | === `beat.version` 50 | 51 | The version of the beat that generated this event. 52 | 53 | 54 | [float] 55 | === `@timestamp` 56 | 57 | type: date 58 | 59 | example: August 26th 2016, 12:35:53.332 60 | 61 | format: date 62 | 63 | required: True 64 | 65 | The timestamp when the event log record was generated. 66 | 67 | 68 | [float] 69 | === `tags` 70 | 71 | Arbitrary tags that can be set per Beat and per transaction type. 72 | 73 | 74 | [float] 75 | === `fields` 76 | 77 | type: object 78 | 79 | Contains user configurable fields. 80 | 81 | 82 | [float] 83 | == error fields 84 | 85 | Error fields containing additional info in case of errors. 86 | 87 | 88 | 89 | [float] 90 | === `error.message` 91 | 92 | type: text 93 | 94 | Error message. 95 | 96 | 97 | [float] 98 | === `error.code` 99 | 100 | type: long 101 | 102 | Error code. 103 | 104 | 105 | [float] 106 | === `error.type` 107 | 108 | type: keyword 109 | 110 | Error type. 111 | 112 | 113 | [[exported-fields-cloud]] 114 | == Cloud provider metadata fields 115 | 116 | Metadata from cloud providers added by the add_cloud_metadata processor. 117 | 118 | 119 | 120 | [float] 121 | === `meta.cloud.provider` 122 | 123 | example: ec2 124 | 125 | Name of the cloud provider. Possible values are ec2, gce, or digitalocean. 126 | 127 | 128 | [float] 129 | === `meta.cloud.instance_id` 130 | 131 | Instance ID of the host machine. 132 | 133 | 134 | [float] 135 | === `meta.cloud.instance_name` 136 | 137 | Instance name of the host machine. 138 | 139 | 140 | [float] 141 | === `meta.cloud.machine_type` 142 | 143 | example: t2.medium 144 | 145 | Machine type of the host machine. 146 | 147 | 148 | [float] 149 | === `meta.cloud.availability_zone` 150 | 151 | example: us-east-1c 152 | 153 | Availability zone in which this host is running. 154 | 155 | 156 | [float] 157 | === `meta.cloud.project_id` 158 | 159 | example: project-x 160 | 161 | Name of the project in Google Cloud. 162 | 163 | 164 | [float] 165 | === `meta.cloud.region` 166 | 167 | Region in which this host is running. 168 | 169 | 170 | [[exported-fields-docker-processor]] 171 | == Docker fields 172 | 173 | Docker stats collected from Docker. 174 | 175 | 176 | 177 | 178 | [float] 179 | === `docker.container.id` 180 | 181 | type: keyword 182 | 183 | Unique container id. 184 | 185 | 186 | [float] 187 | === `docker.container.image` 188 | 189 | type: keyword 190 | 191 | Name of the image the container was built on. 192 | 193 | 194 | [float] 195 | === `docker.container.name` 196 | 197 | type: keyword 198 | 199 | Container name. 200 | 201 | 202 | [float] 203 | === `docker.container.labels` 204 | 205 | type: object 206 | 207 | Image labels. 208 | 209 | 210 | [[exported-fields-eosbeat]] 211 | == eosbeat fields 212 | 213 | None 214 | 215 | 216 | [float] 217 | === `counter` 218 | 219 | type: long 220 | 221 | required: True 222 | 223 | PLEASE UPDATE DOCUMENTATION 224 | 225 | 226 | [[exported-fields-host-processor]] 227 | == Host fields 228 | 229 | Info collected for the host machine. 230 | 231 | 232 | 233 | 234 | [float] 235 | === `host.hostname` 236 | 237 | type: keyword 238 | 239 | Hostname. 240 | 241 | 242 | [float] 243 | === `host.id` 244 | 245 | type: keyword 246 | 247 | Unique host id. 248 | 249 | 250 | [float] 251 | === `host.architecture` 252 | 253 | type: keyword 254 | 255 | Host architecture (e.g. x86_64, arm, ppc, mips). 256 | 257 | 258 | [float] 259 | === `host.os.platform` 260 | 261 | type: keyword 262 | 263 | OS platform (e.g. centos, ubuntu, windows). 264 | 265 | 266 | [float] 267 | === `host.os.version` 268 | 269 | type: keyword 270 | 271 | OS version. 272 | 273 | 274 | [float] 275 | === `host.os.family` 276 | 277 | type: keyword 278 | 279 | OS family (e.g. redhat, debian, freebsd, windows). 280 | 281 | 282 | [[exported-fields-kubernetes-processor]] 283 | == Kubernetes fields 284 | 285 | Kubernetes metadata added by the kubernetes processor 286 | 287 | 288 | 289 | 290 | [float] 291 | === `kubernetes.pod.name` 292 | 293 | type: keyword 294 | 295 | Kubernetes pod name 296 | 297 | 298 | [float] 299 | === `kubernetes.namespace` 300 | 301 | type: keyword 302 | 303 | Kubernetes namespace 304 | 305 | 306 | [float] 307 | === `kubernetes.node.name` 308 | 309 | type: keyword 310 | 311 | Kubernetes node name 312 | 313 | 314 | [float] 315 | === `kubernetes.labels` 316 | 317 | type: object 318 | 319 | Kubernetes labels map 320 | 321 | 322 | [float] 323 | === `kubernetes.annotations` 324 | 325 | type: object 326 | 327 | Kubernetes annotations map 328 | 329 | 330 | [float] 331 | === `kubernetes.container.name` 332 | 333 | type: keyword 334 | 335 | Kubernetes container name 336 | 337 | 338 | [float] 339 | === `kubernetes.container.image` 340 | 341 | type: keyword 342 | 343 | Kubernetes container image 344 | 345 | 346 | -------------------------------------------------------------------------------- /docs/index.asciidoc: -------------------------------------------------------------------------------- 1 | = Eosbeat Docs 2 | 3 | Welcome to the Eosbeat documentation. 4 | 5 | 6 | -------------------------------------------------------------------------------- /eosbeat.conf.yml: -------------------------------------------------------------------------------- 1 | eosbeat: 2 | period: 5s 3 | output.elasticsearch: 4 | hosts: ["eosrio.io:9200"] 5 | protocol: "http" 6 | username: "changeME" 7 | password: "changeME" 8 | -------------------------------------------------------------------------------- /eosbeat.pid: -------------------------------------------------------------------------------- 1 | 781 2 | -------------------------------------------------------------------------------- /eosbeat.reference.yml: -------------------------------------------------------------------------------- 1 | ################### Eosbeat Configuration Example ######################### 2 | 3 | ############################# Eosbeat ###################################### 4 | 5 | eosbeat: 6 | # Defines how often an event is sent to the output 7 | period: 1s 8 | 9 | #================================ General ====================================== 10 | 11 | # The name of the shipper that publishes the network data. It can be used to group 12 | # all the transactions sent by a single shipper in the web interface. 13 | # If this options is not defined, the hostname is used. 14 | #name: 15 | 16 | # The tags of the shipper are included in their own field with each 17 | # transaction published. Tags make it easy to group servers by different 18 | # logical properties. 19 | #tags: ["service-X", "web-tier"] 20 | 21 | # Optional fields that you can specify to add additional information to the 22 | # output. Fields can be scalar values, arrays, dictionaries, or any nested 23 | # combination of these. 24 | #fields: 25 | # env: staging 26 | 27 | # If this option is set to true, the custom fields are stored as top-level 28 | # fields in the output document instead of being grouped under a fields 29 | # sub-dictionary. Default is false. 30 | #fields_under_root: false 31 | 32 | # Internal queue configuration for buffering events to be published. 33 | #queue: 34 | # Queue type by name (default 'mem') 35 | # The memory queue will present all available events (up to the outputs 36 | # bulk_max_size) to the output, the moment the output is ready to server 37 | # another batch of events. 38 | #mem: 39 | # Max number of events the queue can buffer. 40 | #events: 4096 41 | 42 | # Hints the minimum number of events stored in the queue, 43 | # before providing a batch of events to the outputs. 44 | # The default value is set to 2048. 45 | # A value of 0 ensures events are immediately available 46 | # to be sent to the outputs. 47 | #flush.min_events: 2048 48 | 49 | # Maximum duration after which events are available to the outputs, 50 | # if the number of events stored in the queue is < min_flush_events. 51 | #flush.timeout: 1s 52 | 53 | # Sets the maximum number of CPUs that can be executing simultaneously. The 54 | # default is the number of logical CPUs available in the system. 55 | #max_procs: 56 | 57 | #================================ Processors =================================== 58 | 59 | # Processors are used to reduce the number of fields in the exported event or to 60 | # enhance the event with external metadata. This section defines a list of 61 | # processors that are applied one by one and the first one receives the initial 62 | # event: 63 | # 64 | # event -> filter1 -> event1 -> filter2 ->event2 ... 65 | # 66 | # The supported processors are drop_fields, drop_event, include_fields, and 67 | # add_cloud_metadata. 68 | # 69 | # For example, you can use the following processors to keep the fields that 70 | # contain CPU load percentages, but remove the fields that contain CPU ticks 71 | # values: 72 | # 73 | #processors: 74 | #- include_fields: 75 | # fields: ["cpu"] 76 | #- drop_fields: 77 | # fields: ["cpu.user", "cpu.system"] 78 | # 79 | # The following example drops the events that have the HTTP response code 200: 80 | # 81 | #processors: 82 | #- drop_event: 83 | # when: 84 | # equals: 85 | # http.code: 200 86 | # 87 | # The following example enriches each event with metadata from the cloud 88 | # provider about the host machine. It works on EC2, GCE, DigitalOcean, 89 | # Tencent Cloud, and Alibaba Cloud. 90 | # 91 | #processors: 92 | #- add_cloud_metadata: ~ 93 | # 94 | # The following example enriches each event with the machine's local time zone 95 | # offset from UTC. 96 | # 97 | #processors: 98 | #- add_locale: 99 | # format: offset 100 | # 101 | # The following example enriches each event with docker metadata, it matches 102 | # given fields to an existing container id and adds info from that container: 103 | # 104 | #processors: 105 | #- add_docker_metadata: 106 | # host: "unix:///var/run/docker.sock" 107 | # match_fields: ["system.process.cgroup.id"] 108 | # match_pids: ["process.pid", "process.ppid"] 109 | # match_source: true 110 | # match_source_index: 4 111 | # match_short_id: false 112 | # cleanup_timeout: 60 113 | # # To connect to Docker over TLS you must specify a client and CA certificate. 114 | # #ssl: 115 | # # certificate_authority: "/etc/pki/root/ca.pem" 116 | # # certificate: "/etc/pki/client/cert.pem" 117 | # # key: "/etc/pki/client/cert.key" 118 | # 119 | # The following example enriches each event with docker metadata, it matches 120 | # container id from log path available in `source` field (by default it expects 121 | # it to be /var/lib/docker/containers/*/*.log). 122 | # 123 | #processors: 124 | #- add_docker_metadata: ~ 125 | #- add_host_metadata: ~ 126 | 127 | #============================= Elastic Cloud ================================== 128 | 129 | # These settings simplify using eosbeat with the Elastic Cloud (https://cloud.elastic.co/). 130 | 131 | # The cloud.id setting overwrites the `output.elasticsearch.hosts` and 132 | # `setup.kibana.host` options. 133 | # You can find the `cloud.id` in the Elastic Cloud web UI. 134 | #cloud.id: 135 | 136 | # The cloud.auth setting overwrites the `output.elasticsearch.username` and 137 | # `output.elasticsearch.password` settings. The format is `:`. 138 | #cloud.auth: 139 | 140 | #================================ Outputs ====================================== 141 | 142 | # Configure what output to use when sending the data collected by the beat. 143 | 144 | #-------------------------- Elasticsearch output ------------------------------- 145 | output.elasticsearch: 146 | # Boolean flag to enable or disable the output module. 147 | #enabled: true 148 | 149 | # Array of hosts to connect to. 150 | # Scheme and port can be left out and will be set to the default (http and 9200) 151 | # In case you specify and additional path, the scheme is required: http://localhost:9200/path 152 | # IPv6 addresses should always be defined as: https://[2001:db8::1]:9200 153 | hosts: ["localhost:9200"] 154 | 155 | # Set gzip compression level. 156 | #compression_level: 0 157 | 158 | # Optional protocol and basic auth credentials. 159 | #protocol: "https" 160 | #username: "elastic" 161 | #password: "changeme" 162 | 163 | # Dictionary of HTTP parameters to pass within the url with index operations. 164 | #parameters: 165 | #param1: value1 166 | #param2: value2 167 | 168 | # Number of workers per Elasticsearch host. 169 | #worker: 1 170 | 171 | # Optional index name. The default is "eosbeat" plus date 172 | # and generates [eosbeat-]YYYY.MM.DD keys. 173 | # In case you modify this pattern you must update setup.template.name and setup.template.pattern accordingly. 174 | #index: "eosbeat-%{[beat.version]}-%{+yyyy.MM.dd}" 175 | 176 | # Optional ingest node pipeline. By default no pipeline will be used. 177 | #pipeline: "" 178 | 179 | # Optional HTTP Path 180 | #path: "/elasticsearch" 181 | 182 | # Custom HTTP headers to add to each request 183 | #headers: 184 | # X-My-Header: Contents of the header 185 | 186 | # Proxy server url 187 | #proxy_url: http://proxy:3128 188 | 189 | # The number of times a particular Elasticsearch index operation is attempted. If 190 | # the indexing operation doesn't succeed after this many retries, the events are 191 | # dropped. The default is 3. 192 | #max_retries: 3 193 | 194 | # The maximum number of events to bulk in a single Elasticsearch bulk API index request. 195 | # The default is 50. 196 | #bulk_max_size: 50 197 | 198 | # Configure http request timeout before failing an request to Elasticsearch. 199 | #timeout: 90 200 | 201 | # Use SSL settings for HTTPS. 202 | #ssl.enabled: true 203 | 204 | # Configure SSL verification mode. If `none` is configured, all server hosts 205 | # and certificates will be accepted. In this mode, SSL based connections are 206 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 207 | # `full`. 208 | #ssl.verification_mode: full 209 | 210 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 211 | # 1.2 are enabled. 212 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 213 | 214 | # SSL configuration. By default is off. 215 | # List of root certificates for HTTPS server verifications 216 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 217 | 218 | # Certificate for SSL client authentication 219 | #ssl.certificate: "/etc/pki/client/cert.pem" 220 | 221 | # Client Certificate Key 222 | #ssl.key: "/etc/pki/client/cert.key" 223 | 224 | # Optional passphrase for decrypting the Certificate Key. 225 | #ssl.key_passphrase: '' 226 | 227 | # Configure cipher suites to be used for SSL connections 228 | #ssl.cipher_suites: [] 229 | 230 | # Configure curve types for ECDHE based cipher suites 231 | #ssl.curve_types: [] 232 | 233 | # Configure what types of renegotiation are supported. Valid options are 234 | # never, once, and freely. Default is never. 235 | #ssl.renegotiation: never 236 | 237 | 238 | #----------------------------- Logstash output --------------------------------- 239 | #output.logstash: 240 | # Boolean flag to enable or disable the output module. 241 | #enabled: true 242 | 243 | # The Logstash hosts 244 | #hosts: ["localhost:5044"] 245 | 246 | # Number of workers per Logstash host. 247 | #worker: 1 248 | 249 | # Set gzip compression level. 250 | #compression_level: 3 251 | 252 | # Optional maximum time to live for a connection to Logstash, after which the 253 | # connection will be re-established. A value of `0s` (the default) will 254 | # disable this feature. 255 | # 256 | # Not yet supported for async connections (i.e. with the "pipelining" option set) 257 | #ttl: 30s 258 | 259 | # Optional load balance the events between the Logstash hosts. Default is false. 260 | #loadbalance: false 261 | 262 | # Number of batches to be sent asynchronously to logstash while processing 263 | # new batches. 264 | #pipelining: 2 265 | 266 | # If enabled only a subset of events in a batch of events is transferred per 267 | # transaction. The number of events to be sent increases up to `bulk_max_size` 268 | # if no error is encountered. 269 | #slow_start: false 270 | 271 | # Optional index name. The default index name is set to eosbeat 272 | # in all lowercase. 273 | #index: 'eosbeat' 274 | 275 | # SOCKS5 proxy server URL 276 | #proxy_url: socks5://user:password@socks5-server:2233 277 | 278 | # Resolve names locally when using a proxy server. Defaults to false. 279 | #proxy_use_local_resolver: false 280 | 281 | # Enable SSL support. SSL is automatically enabled, if any SSL setting is set. 282 | #ssl.enabled: true 283 | 284 | # Configure SSL verification mode. If `none` is configured, all server hosts 285 | # and certificates will be accepted. In this mode, SSL based connections are 286 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 287 | # `full`. 288 | #ssl.verification_mode: full 289 | 290 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 291 | # 1.2 are enabled. 292 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 293 | 294 | # Optional SSL configuration options. SSL is off by default. 295 | # List of root certificates for HTTPS server verifications 296 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 297 | 298 | # Certificate for SSL client authentication 299 | #ssl.certificate: "/etc/pki/client/cert.pem" 300 | 301 | # Client Certificate Key 302 | #ssl.key: "/etc/pki/client/cert.key" 303 | 304 | # Optional passphrase for decrypting the Certificate Key. 305 | #ssl.key_passphrase: '' 306 | 307 | # Configure cipher suites to be used for SSL connections 308 | #ssl.cipher_suites: [] 309 | 310 | # Configure curve types for ECDHE based cipher suites 311 | #ssl.curve_types: [] 312 | 313 | # Configure what types of renegotiation are supported. Valid options are 314 | # never, once, and freely. Default is never. 315 | #ssl.renegotiation: never 316 | 317 | #------------------------------- Kafka output ---------------------------------- 318 | #output.kafka: 319 | # Boolean flag to enable or disable the output module. 320 | #enabled: true 321 | 322 | # The list of Kafka broker addresses from where to fetch the cluster metadata. 323 | # The cluster metadata contain the actual Kafka brokers events are published 324 | # to. 325 | #hosts: ["localhost:9092"] 326 | 327 | # The Kafka topic used for produced events. The setting can be a format string 328 | # using any event field. To set the topic from document type use `%{[type]}`. 329 | #topic: beats 330 | 331 | # The Kafka event key setting. Use format string to create unique event key. 332 | # By default no event key will be generated. 333 | #key: '' 334 | 335 | # The Kafka event partitioning strategy. Default hashing strategy is `hash` 336 | # using the `output.kafka.key` setting or randomly distributes events if 337 | # `output.kafka.key` is not configured. 338 | #partition.hash: 339 | # If enabled, events will only be published to partitions with reachable 340 | # leaders. Default is false. 341 | #reachable_only: false 342 | 343 | # Configure alternative event field names used to compute the hash value. 344 | # If empty `output.kafka.key` setting will be used. 345 | # Default value is empty list. 346 | #hash: [] 347 | 348 | # Authentication details. Password is required if username is set. 349 | #username: '' 350 | #password: '' 351 | 352 | # Kafka version eosbeat is assumed to run against. Defaults to the oldest 353 | # supported stable version (currently version 0.8.2.0) 354 | #version: 0.8.2 355 | 356 | # Metadata update configuration. Metadata do contain leader information 357 | # deciding which broker to use when publishing. 358 | #metadata: 359 | # Max metadata request retry attempts when cluster is in middle of leader 360 | # election. Defaults to 3 retries. 361 | #retry.max: 3 362 | 363 | # Waiting time between retries during leader elections. Default is 250ms. 364 | #retry.backoff: 250ms 365 | 366 | # Refresh metadata interval. Defaults to every 10 minutes. 367 | #refresh_frequency: 10m 368 | 369 | # The number of concurrent load-balanced Kafka output workers. 370 | #worker: 1 371 | 372 | # The number of times to retry publishing an event after a publishing failure. 373 | # After the specified number of retries, the events are typically dropped. 374 | # Some Beats, such as Filebeat, ignore the max_retries setting and retry until 375 | # all events are published. Set max_retries to a value less than 0 to retry 376 | # until all events are published. The default is 3. 377 | #max_retries: 3 378 | 379 | # The maximum number of events to bulk in a single Kafka request. The default 380 | # is 2048. 381 | #bulk_max_size: 2048 382 | 383 | # The number of seconds to wait for responses from the Kafka brokers before 384 | # timing out. The default is 30s. 385 | #timeout: 30s 386 | 387 | # The maximum duration a broker will wait for number of required ACKs. The 388 | # default is 10s. 389 | #broker_timeout: 10s 390 | 391 | # The number of messages buffered for each Kafka broker. The default is 256. 392 | #channel_buffer_size: 256 393 | 394 | # The keep-alive period for an active network connection. If 0s, keep-alives 395 | # are disabled. The default is 0 seconds. 396 | #keep_alive: 0 397 | 398 | # Sets the output compression codec. Must be one of none, snappy and gzip. The 399 | # default is gzip. 400 | #compression: gzip 401 | 402 | # The maximum permitted size of JSON-encoded messages. Bigger messages will be 403 | # dropped. The default value is 1000000 (bytes). This value should be equal to 404 | # or less than the broker's message.max.bytes. 405 | #max_message_bytes: 1000000 406 | 407 | # The ACK reliability level required from broker. 0=no response, 1=wait for 408 | # local commit, -1=wait for all replicas to commit. The default is 1. Note: 409 | # If set to 0, no ACKs are returned by Kafka. Messages might be lost silently 410 | # on error. 411 | #required_acks: 1 412 | 413 | # The configurable ClientID used for logging, debugging, and auditing 414 | # purposes. The default is "beats". 415 | #client_id: beats 416 | 417 | # Enable SSL support. SSL is automatically enabled, if any SSL setting is set. 418 | #ssl.enabled: true 419 | 420 | # Optional SSL configuration options. SSL is off by default. 421 | # List of root certificates for HTTPS server verifications 422 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 423 | 424 | # Configure SSL verification mode. If `none` is configured, all server hosts 425 | # and certificates will be accepted. In this mode, SSL based connections are 426 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 427 | # `full`. 428 | #ssl.verification_mode: full 429 | 430 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 431 | # 1.2 are enabled. 432 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 433 | 434 | # Certificate for SSL client authentication 435 | #ssl.certificate: "/etc/pki/client/cert.pem" 436 | 437 | # Client Certificate Key 438 | #ssl.key: "/etc/pki/client/cert.key" 439 | 440 | # Optional passphrase for decrypting the Certificate Key. 441 | #ssl.key_passphrase: '' 442 | 443 | # Configure cipher suites to be used for SSL connections 444 | #ssl.cipher_suites: [] 445 | 446 | # Configure curve types for ECDHE based cipher suites 447 | #ssl.curve_types: [] 448 | 449 | # Configure what types of renegotiation are supported. Valid options are 450 | # never, once, and freely. Default is never. 451 | #ssl.renegotiation: never 452 | 453 | #------------------------------- Redis output ---------------------------------- 454 | #output.redis: 455 | # Boolean flag to enable or disable the output module. 456 | #enabled: true 457 | 458 | # The list of Redis servers to connect to. If load balancing is enabled, the 459 | # events are distributed to the servers in the list. If one server becomes 460 | # unreachable, the events are distributed to the reachable servers only. 461 | #hosts: ["localhost:6379"] 462 | 463 | # The Redis port to use if hosts does not contain a port number. The default 464 | # is 6379. 465 | #port: 6379 466 | 467 | # The name of the Redis list or channel the events are published to. The 468 | # default is eosbeat. 469 | #key: eosbeat 470 | 471 | # The password to authenticate with. The default is no authentication. 472 | #password: 473 | 474 | # The Redis database number where the events are published. The default is 0. 475 | #db: 0 476 | 477 | # The Redis data type to use for publishing events. If the data type is list, 478 | # the Redis RPUSH command is used. If the data type is channel, the Redis 479 | # PUBLISH command is used. The default value is list. 480 | #datatype: list 481 | 482 | # The number of workers to use for each host configured to publish events to 483 | # Redis. Use this setting along with the loadbalance option. For example, if 484 | # you have 2 hosts and 3 workers, in total 6 workers are started (3 for each 485 | # host). 486 | #worker: 1 487 | 488 | # If set to true and multiple hosts or workers are configured, the output 489 | # plugin load balances published events onto all Redis hosts. If set to false, 490 | # the output plugin sends all events to only one host (determined at random) 491 | # and will switch to another host if the currently selected one becomes 492 | # unreachable. The default value is true. 493 | #loadbalance: true 494 | 495 | # The Redis connection timeout in seconds. The default is 5 seconds. 496 | #timeout: 5s 497 | 498 | # The number of times to retry publishing an event after a publishing failure. 499 | # After the specified number of retries, the events are typically dropped. 500 | # Some Beats, such as Filebeat, ignore the max_retries setting and retry until 501 | # all events are published. Set max_retries to a value less than 0 to retry 502 | # until all events are published. The default is 3. 503 | #max_retries: 3 504 | 505 | # The maximum number of events to bulk in a single Redis request or pipeline. 506 | # The default is 2048. 507 | #bulk_max_size: 2048 508 | 509 | # The URL of the SOCKS5 proxy to use when connecting to the Redis servers. The 510 | # value must be a URL with a scheme of socks5://. 511 | #proxy_url: 512 | 513 | # This option determines whether Redis hostnames are resolved locally when 514 | # using a proxy. The default value is false, which means that name resolution 515 | # occurs on the proxy server. 516 | #proxy_use_local_resolver: false 517 | 518 | # Enable SSL support. SSL is automatically enabled, if any SSL setting is set. 519 | #ssl.enabled: true 520 | 521 | # Configure SSL verification mode. If `none` is configured, all server hosts 522 | # and certificates will be accepted. In this mode, SSL based connections are 523 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 524 | # `full`. 525 | #ssl.verification_mode: full 526 | 527 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 528 | # 1.2 are enabled. 529 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 530 | 531 | # Optional SSL configuration options. SSL is off by default. 532 | # List of root certificates for HTTPS server verifications 533 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 534 | 535 | # Certificate for SSL client authentication 536 | #ssl.certificate: "/etc/pki/client/cert.pem" 537 | 538 | # Client Certificate Key 539 | #ssl.key: "/etc/pki/client/cert.key" 540 | 541 | # Optional passphrase for decrypting the Certificate Key. 542 | #ssl.key_passphrase: '' 543 | 544 | # Configure cipher suites to be used for SSL connections 545 | #ssl.cipher_suites: [] 546 | 547 | # Configure curve types for ECDHE based cipher suites 548 | #ssl.curve_types: [] 549 | 550 | # Configure what types of renegotiation are supported. Valid options are 551 | # never, once, and freely. Default is never. 552 | #ssl.renegotiation: never 553 | 554 | #------------------------------- File output ----------------------------------- 555 | #output.file: 556 | # Boolean flag to enable or disable the output module. 557 | #enabled: true 558 | 559 | # Path to the directory where to save the generated files. The option is 560 | # mandatory. 561 | #path: "/tmp/eosbeat" 562 | 563 | # Name of the generated files. The default is `eosbeat` and it generates 564 | # files: `eosbeat`, `eosbeat.1`, `eosbeat.2`, etc. 565 | #filename: eosbeat 566 | 567 | # Maximum size in kilobytes of each file. When this size is reached, and on 568 | # every eosbeat restart, the files are rotated. The default value is 10240 569 | # kB. 570 | #rotate_every_kb: 10000 571 | 572 | # Maximum number of files under path. When this number of files is reached, 573 | # the oldest file is deleted and the rest are shifted from last to first. The 574 | # default is 7 files. 575 | #number_of_files: 7 576 | 577 | # Permissions to use for file creation. The default is 0600. 578 | #permissions: 0600 579 | 580 | 581 | #----------------------------- Console output --------------------------------- 582 | #output.console: 583 | # Boolean flag to enable or disable the output module. 584 | #enabled: true 585 | 586 | # Pretty print json event 587 | #pretty: false 588 | 589 | #================================= Paths ====================================== 590 | 591 | # The home path for the eosbeat installation. This is the default base path 592 | # for all other path settings and for miscellaneous files that come with the 593 | # distribution (for example, the sample dashboards). 594 | # If not set by a CLI flag or in the configuration file, the default for the 595 | # home path is the location of the binary. 596 | #path.home: 597 | 598 | # The configuration path for the eosbeat installation. This is the default 599 | # base path for configuration files, including the main YAML configuration file 600 | # and the Elasticsearch template file. If not set by a CLI flag or in the 601 | # configuration file, the default for the configuration path is the home path. 602 | #path.config: ${path.home} 603 | 604 | # The data path for the eosbeat installation. This is the default base path 605 | # for all the files in which eosbeat needs to store its data. If not set by a 606 | # CLI flag or in the configuration file, the default for the data path is a data 607 | # subdirectory inside the home path. 608 | #path.data: ${path.home}/data 609 | 610 | # The logs path for a eosbeat installation. This is the default location for 611 | # the Beat's log files. If not set by a CLI flag or in the configuration file, 612 | # the default for the logs path is a logs subdirectory inside the home path. 613 | #path.logs: ${path.home}/logs 614 | 615 | #============================== Dashboards ===================================== 616 | # These settings control loading the sample dashboards to the Kibana index. Loading 617 | # the dashboards are disabled by default and can be enabled either by setting the 618 | # options here, or by using the `-setup` CLI flag or the `setup` command. 619 | #setup.dashboards.enabled: false 620 | 621 | # The directory from where to read the dashboards. The default is the `kibana` 622 | # folder in the home path. 623 | #setup.dashboards.directory: ${path.home}/kibana 624 | 625 | # The URL from where to download the dashboards archive. It is used instead of 626 | # the directory if it has a value. 627 | #setup.dashboards.url: 628 | 629 | # The file archive (zip file) from where to read the dashboards. It is used instead 630 | # of the directory when it has a value. 631 | #setup.dashboards.file: 632 | 633 | # In case the archive contains the dashboards from multiple Beats, this lets you 634 | # select which one to load. You can load all the dashboards in the archive by 635 | # setting this to the empty string. 636 | #setup.dashboards.beat: eosbeat 637 | 638 | # The name of the Kibana index to use for setting the configuration. Default is ".kibana" 639 | #setup.dashboards.kibana_index: .kibana 640 | 641 | # The Elasticsearch index name. This overwrites the index name defined in the 642 | # dashboards and index pattern. Example: testbeat-* 643 | #setup.dashboards.index: 644 | 645 | # Always use the Kibana API for loading the dashboards instead of autodetecting 646 | # how to install the dashboards by first querying Elasticsearch. 647 | #setup.dashboards.always_kibana: false 648 | 649 | # If true and Kibana is not reachable at the time when dashboards are loaded, 650 | # it will retry to reconnect to Kibana instead of exiting with an error. 651 | #setup.dashboards.retry.enabled: false 652 | 653 | # Duration interval between Kibana connection retries. 654 | #setup.dashboards.retry.interval: 1s 655 | 656 | # Maximum number of retries before exiting with an error, 0 for unlimited retrying. 657 | #setup.dashboards.retry.maximum: 0 658 | 659 | 660 | #============================== Template ===================================== 661 | 662 | # A template is used to set the mapping in Elasticsearch 663 | # By default template loading is enabled and the template is loaded. 664 | # These settings can be adjusted to load your own template or overwrite existing ones. 665 | 666 | # Set to false to disable template loading. 667 | #setup.template.enabled: true 668 | 669 | # Template name. By default the template name is "eosbeat-%{[beat.version]}" 670 | # The template name and pattern has to be set in case the elasticsearch index pattern is modified. 671 | #setup.template.name: "eosbeat-%{[beat.version]}" 672 | 673 | # Template pattern. By default the template pattern is "-%{[beat.version]}-*" to apply to the default index settings. 674 | # The first part is the version of the beat and then -* is used to match all daily indices. 675 | # The template name and pattern has to be set in case the elasticsearch index pattern is modified. 676 | #setup.template.pattern: "eosbeat-%{[beat.version]}-*" 677 | 678 | # Path to fields.yml file to generate the template 679 | #setup.template.fields: "${path.config}/fields.yml" 680 | 681 | # Overwrite existing template 682 | #setup.template.overwrite: false 683 | 684 | # Elasticsearch template settings 685 | setup.template.settings: 686 | 687 | # A dictionary of settings to place into the settings.index dictionary 688 | # of the Elasticsearch template. For more details, please check 689 | # https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html 690 | #index: 691 | #number_of_shards: 1 692 | #codec: best_compression 693 | #number_of_routing_shards: 30 694 | 695 | # A dictionary of settings for the _source field. For more details, please check 696 | # https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html 697 | #_source: 698 | #enabled: false 699 | 700 | #============================== Kibana ===================================== 701 | 702 | # Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API. 703 | # This requires a Kibana endpoint configuration. 704 | setup.kibana: 705 | 706 | # Kibana Host 707 | # Scheme and port can be left out and will be set to the default (http and 5601) 708 | # In case you specify and additional path, the scheme is required: http://localhost:5601/path 709 | # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601 710 | #host: "localhost:5601" 711 | 712 | # Optional protocol and basic auth credentials. 713 | #protocol: "https" 714 | #username: "elastic" 715 | #password: "changeme" 716 | 717 | # Optional HTTP Path 718 | #path: "" 719 | 720 | # Use SSL settings for HTTPS. Default is true. 721 | #ssl.enabled: true 722 | 723 | # Configure SSL verification mode. If `none` is configured, all server hosts 724 | # and certificates will be accepted. In this mode, SSL based connections are 725 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 726 | # `full`. 727 | #ssl.verification_mode: full 728 | 729 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 730 | # 1.2 are enabled. 731 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 732 | 733 | # SSL configuration. By default is off. 734 | # List of root certificates for HTTPS server verifications 735 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 736 | 737 | # Certificate for SSL client authentication 738 | #ssl.certificate: "/etc/pki/client/cert.pem" 739 | 740 | # Client Certificate Key 741 | #ssl.key: "/etc/pki/client/cert.key" 742 | 743 | # Optional passphrase for decrypting the Certificate Key. 744 | #ssl.key_passphrase: '' 745 | 746 | # Configure cipher suites to be used for SSL connections 747 | #ssl.cipher_suites: [] 748 | 749 | # Configure curve types for ECDHE based cipher suites 750 | #ssl.curve_types: [] 751 | 752 | 753 | 754 | #================================ Logging ====================================== 755 | # There are four options for the log output: file, stderr, syslog, eventlog 756 | # The file output is the default. 757 | 758 | # Sets log level. The default log level is info. 759 | # Available log levels are: error, warning, info, debug 760 | #logging.level: info 761 | 762 | # Enable debug output for selected components. To enable all selectors use ["*"] 763 | # Other available selectors are "beat", "publish", "service" 764 | # Multiple selectors can be chained. 765 | #logging.selectors: [ ] 766 | 767 | # Send all logging output to syslog. The default is false. 768 | #logging.to_syslog: false 769 | 770 | # Send all logging output to Windows Event Logs. The default is false. 771 | #logging.to_eventlog: false 772 | 773 | # If enabled, eosbeat periodically logs its internal metrics that have changed 774 | # in the last period. For each metric that changed, the delta from the value at 775 | # the beginning of the period is logged. Also, the total values for 776 | # all non-zero internal metrics are logged on shutdown. The default is true. 777 | #logging.metrics.enabled: true 778 | 779 | # The period after which to log the internal metrics. The default is 30s. 780 | #logging.metrics.period: 30s 781 | 782 | # Logging to rotating files. Set logging.to_files to false to disable logging to 783 | # files. 784 | logging.to_files: true 785 | logging.files: 786 | # Configure the path where the logs are written. The default is the logs directory 787 | # under the home path (the binary location). 788 | #path: /var/log/eosbeat 789 | 790 | # The name of the files where the logs are written to. 791 | #name: eosbeat 792 | 793 | # Configure log file size limit. If limit is reached, log file will be 794 | # automatically rotated 795 | #rotateeverybytes: 10485760 # = 10MB 796 | 797 | # Number of rotated log files to keep. Oldest files will be deleted first. 798 | #keepfiles: 7 799 | 800 | # The permissions mask to apply when rotating log files. The default value is 0600. 801 | # Must be a valid Unix-style file permissions mask expressed in octal notation. 802 | #permissions: 0600 803 | 804 | # Set to true to log messages in json format. 805 | #logging.json: false 806 | 807 | 808 | #============================== Xpack Monitoring ===================================== 809 | # eosbeat can export internal metrics to a central Elasticsearch monitoring cluster. 810 | # This requires xpack monitoring to be enabled in Elasticsearch. 811 | # The reporting is disabled by default. 812 | 813 | # Set to true to enable the monitoring reporter. 814 | #xpack.monitoring.enabled: false 815 | 816 | # Uncomment to send the metrics to Elasticsearch. Most settings from the 817 | # Elasticsearch output are accepted here as well. Any setting that is not set is 818 | # automatically inherited from the Elasticsearch output configuration, so if you 819 | # have the Elasticsearch output configured, you can simply uncomment the 820 | # following line, and leave the rest commented out. 821 | #xpack.monitoring.elasticsearch: 822 | 823 | # Array of hosts to connect to. 824 | # Scheme and port can be left out and will be set to the default (http and 9200) 825 | # In case you specify and additional path, the scheme is required: http://localhost:9200/path 826 | # IPv6 addresses should always be defined as: https://[2001:db8::1]:9200 827 | #hosts: ["localhost:9200"] 828 | 829 | # Set gzip compression level. 830 | #compression_level: 0 831 | 832 | # Optional protocol and basic auth credentials. 833 | #protocol: "https" 834 | #username: "beats_system" 835 | #password: "changeme" 836 | 837 | # Dictionary of HTTP parameters to pass within the url with index operations. 838 | #parameters: 839 | #param1: value1 840 | #param2: value2 841 | 842 | # Custom HTTP headers to add to each request 843 | #headers: 844 | # X-My-Header: Contents of the header 845 | 846 | # Proxy server url 847 | #proxy_url: http://proxy:3128 848 | 849 | # The number of times a particular Elasticsearch index operation is attempted. If 850 | # the indexing operation doesn't succeed after this many retries, the events are 851 | # dropped. The default is 3. 852 | #max_retries: 3 853 | 854 | # The maximum number of events to bulk in a single Elasticsearch bulk API index request. 855 | # The default is 50. 856 | #bulk_max_size: 50 857 | 858 | # Configure http request timeout before failing an request to Elasticsearch. 859 | #timeout: 90 860 | 861 | # Use SSL settings for HTTPS. 862 | #ssl.enabled: true 863 | 864 | # Configure SSL verification mode. If `none` is configured, all server hosts 865 | # and certificates will be accepted. In this mode, SSL based connections are 866 | # susceptible to man-in-the-middle attacks. Use only for testing. Default is 867 | # `full`. 868 | #ssl.verification_mode: full 869 | 870 | # List of supported/valid TLS versions. By default all TLS versions 1.0 up to 871 | # 1.2 are enabled. 872 | #ssl.supported_protocols: [TLSv1.0, TLSv1.1, TLSv1.2] 873 | 874 | # SSL configuration. By default is off. 875 | # List of root certificates for HTTPS server verifications 876 | #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] 877 | 878 | # Certificate for SSL client authentication 879 | #ssl.certificate: "/etc/pki/client/cert.pem" 880 | 881 | # Client Certificate Key 882 | #ssl.key: "/etc/pki/client/cert.key" 883 | 884 | # Optional passphrase for decrypting the Certificate Key. 885 | #ssl.key_passphrase: '' 886 | 887 | # Configure cipher suites to be used for SSL connections 888 | #ssl.cipher_suites: [] 889 | 890 | # Configure curve types for ECDHE based cipher suites 891 | #ssl.curve_types: [] 892 | 893 | # Configure what types of renegotiation are supported. Valid options are 894 | # never, once, and freely. Default is never. 895 | #ssl.renegotiation: never 896 | 897 | #================================ HTTP Endpoint ====================================== 898 | # Each beat can expose internal metrics through a HTTP endpoint. For security 899 | # reasons the endpoint is disabled by default. This feature is currently experimental. 900 | # Stats can be access through http://localhost:5066/stats . For pretty JSON output 901 | # append ?pretty to the URL. 902 | 903 | # Defines if the HTTP endpoint is enabled. 904 | #http.enabled: false 905 | 906 | # The HTTP endpoint will bind to this hostname or IP address. It is recommended to use only localhost. 907 | #http.host: localhost 908 | 909 | # Port on which the HTTP endpoint will bind. Default is 5066. 910 | #http.port: 5066 911 | -------------------------------------------------------------------------------- /eosbeat.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosrio/eosbeat/be21d595ee3a14c4d2f60dd026c3e9cc7692fa11/eosbeat.tar.gz -------------------------------------------------------------------------------- /eosbeat.yml: -------------------------------------------------------------------------------- 1 | eosbeat: 2 | period: 5s 3 | output.elasticsearch: 4 | hosts: ["eosrio.io:9200"] 5 | protocol: "http" 6 | username: "changeME" 7 | password: "changeME" 8 | -------------------------------------------------------------------------------- /err.log: -------------------------------------------------------------------------------- 1 | 2018/04/27 19:20:19 dial tcp 93.176.188.7:8888: connect: connection refused 2 | 2018/04/27 19:20:20 dial tcp 93.176.188.7:8888: connect: connection refused 3 | 2018/04/27 19:21:46 dial tcp 145.239.252.91:8888: connect: connection refused 4 | 2018/04/27 19:21:47 dial tcp 145.239.252.91:8888: connect: connection refused 5 | 2018/04/27 19:22:12 dial tcp 156.38.160.92:8888: connect: connection refused 6 | 2018/04/27 19:22:33 dial tcp 156.38.160.92:8888: connect: connection refused 7 | 2018/04/27 19:22:43 dial tcp 154.48.249.19:8888: connect: connection refused 8 | 2018/04/27 19:22:45 dial tcp 154.48.249.19:8888: connect: connection refused 9 | 2018/04/27 19:22:51 dial tcp 83.96.252.111:8888: connect: connection refused 10 | 2018/04/27 19:22:53 dial tcp 83.96.252.111:8888: connect: connection refused 11 | 2018/04/27 19:23:04 dial tcp 211.159.182.240:8888: connect: connection refused 12 | 2018/04/27 19:23:07 dial tcp 211.159.182.240:8888: connect: connection refused 13 | 2018/04/27 19:23:11 dial tcp 35.189.11.13:8888: connect: connection refused 14 | 2018/04/27 19:23:13 dial tcp 35.189.11.13:8888: connect: connection refused 15 | 2018/04/27 19:23:19 dial tcp 39.108.231.157:8888: connect: connection refused 16 | 2018/04/27 19:23:21 dial tcp 39.108.231.157:8888: connect: connection refused 17 | 2018/04/27 19:23:30 dial tcp 193.93.219.219:6888: connect: connection refused 18 | 2018/04/27 19:23:32 dial tcp 193.93.219.219:6888: connect: connection refused 19 | 2018/04/27 19:23:35 EOF 20 | 2018/04/27 19:24:33 dial tcp 107.191.60.146:7780: connect: connection refused 21 | 2018/04/27 19:24:35 dial tcp 107.191.60.146:7780: connect: connection refused 22 | 2018/04/27 19:25:16 dial tcp 34.209.174.121:8888: connect: connection refused 23 | 2018/04/27 19:25:37 dial tcp 34.209.174.121:8888: connect: connection refused 24 | 2018/04/27 19:25:48 dial tcp 113.208.116.110:8888: connect: connection refused 25 | 2018/04/27 19:25:50 dial tcp 113.208.116.110:8888: connect: connection refused 26 | 2018/04/27 19:26:13 dial tcp 35.192.58.50:8888: connect: connection refused 27 | 2018/04/27 19:26:34 dial tcp 35.192.58.50:8888: connect: connection refused 28 | 2018/04/27 19:27:10 dial tcp 93.176.188.7:8888: connect: connection refused 29 | 2018/04/27 19:27:11 dial tcp 93.176.188.7:8888: connect: connection refused 30 | 2018/04/27 19:27:32 dial tcp 81.110.247.37:8427: connect: connection refused 31 | 2018/04/27 19:27:34 dial tcp 81.110.247.37:8427: connect: connection refused 32 | 2018/04/27 19:27:47 dial tcp 145.239.252.91:8888: connect: connection refused 33 | 2018/04/27 19:27:49 dial tcp 145.239.252.91:8888: connect: connection refused 34 | 2018/04/27 19:28:14 dial tcp 156.38.160.92:8888: connect: connection refused 35 | 2018/04/27 19:28:35 dial tcp 156.38.160.92:8888: connect: connection refused 36 | 2018/04/27 19:28:45 dial tcp 154.48.249.19:8888: connect: connection refused 37 | 2018/04/27 19:28:47 dial tcp 154.48.249.19:8888: connect: connection refused 38 | 2018/04/27 19:28:53 dial tcp 83.96.252.111:8888: connect: connection refused 39 | 2018/04/27 19:28:55 dial tcp 83.96.252.111:8888: connect: connection refused 40 | 2018/04/27 19:29:00 dial tcp 13.126.171.157:8888: connect: connection refused 41 | 2018/04/27 19:29:02 dial tcp 13.126.171.157:8888: connect: connection refused 42 | -------------------------------------------------------------------------------- /fields.yml: -------------------------------------------------------------------------------- 1 | 2 | - key: beat 3 | title: Beat 4 | description: > 5 | Contains common beat fields available in all event types. 6 | fields: 7 | 8 | - name: beat.name 9 | description: > 10 | The name of the Beat sending the log messages. If the Beat name is 11 | set in the configuration file, then that value is used. If it is not 12 | set, the hostname is used. To set the Beat name, use the `name` 13 | option in the configuration file. 14 | - name: beat.hostname 15 | description: > 16 | The hostname as returned by the operating system on which the Beat is 17 | running. 18 | - name: beat.timezone 19 | description: > 20 | The timezone as returned by the operating system on which the Beat is 21 | running. 22 | - name: beat.version 23 | description: > 24 | The version of the beat that generated this event. 25 | 26 | - name: "@timestamp" 27 | type: date 28 | required: true 29 | format: date 30 | example: August 26th 2016, 12:35:53.332 31 | description: > 32 | The timestamp when the event log record was generated. 33 | 34 | - name: tags 35 | description: > 36 | Arbitrary tags that can be set per Beat and per transaction 37 | type. 38 | 39 | - name: fields 40 | type: object 41 | object_type: keyword 42 | description: > 43 | Contains user configurable fields. 44 | 45 | - name: error 46 | type: group 47 | description: > 48 | Error fields containing additional info in case of errors. 49 | fields: 50 | - name: message 51 | type: text 52 | description: > 53 | Error message. 54 | - name: code 55 | type: long 56 | description: > 57 | Error code. 58 | - name: type 59 | type: keyword 60 | description: > 61 | Error type. 62 | - key: cloud 63 | title: Cloud provider metadata 64 | description: > 65 | Metadata from cloud providers added by the add_cloud_metadata processor. 66 | fields: 67 | 68 | - name: meta.cloud.provider 69 | example: ec2 70 | description: > 71 | Name of the cloud provider. Possible values are ec2, gce, or digitalocean. 72 | 73 | - name: meta.cloud.instance_id 74 | description: > 75 | Instance ID of the host machine. 76 | 77 | - name: meta.cloud.instance_name 78 | description: > 79 | Instance name of the host machine. 80 | 81 | - name: meta.cloud.machine_type 82 | example: t2.medium 83 | description: > 84 | Machine type of the host machine. 85 | 86 | - name: meta.cloud.availability_zone 87 | example: us-east-1c 88 | description: > 89 | Availability zone in which this host is running. 90 | 91 | - name: meta.cloud.project_id 92 | example: project-x 93 | description: > 94 | Name of the project in Google Cloud. 95 | 96 | - name: meta.cloud.region 97 | description: > 98 | Region in which this host is running. 99 | - key: docker 100 | title: Docker 101 | description: > 102 | Docker stats collected from Docker. 103 | short_config: false 104 | anchor: docker-processor 105 | fields: 106 | - name: docker 107 | type: group 108 | fields: 109 | - name: container.id 110 | type: keyword 111 | description: > 112 | Unique container id. 113 | - name: container.image 114 | type: keyword 115 | description: > 116 | Name of the image the container was built on. 117 | - name: container.name 118 | type: keyword 119 | description: > 120 | Container name. 121 | - name: container.labels 122 | type: object 123 | object_type: keyword 124 | description: > 125 | Image labels. 126 | - key: host 127 | title: Host 128 | description: > 129 | Info collected for the host machine. 130 | anchor: host-processor 131 | fields: 132 | - name: host 133 | type: group 134 | fields: 135 | - name: hostname 136 | type: keyword 137 | description: > 138 | Hostname. 139 | - name: id 140 | type: keyword 141 | description: > 142 | Unique host id. 143 | - name: architecture 144 | type: keyword 145 | description: > 146 | Host architecture (e.g. x86_64, arm, ppc, mips). 147 | - name: os.platform 148 | type: keyword 149 | description: > 150 | OS platform (e.g. centos, ubuntu, windows). 151 | - name: os.version 152 | type: keyword 153 | description: > 154 | OS version. 155 | - name: os.family 156 | type: keyword 157 | description: > 158 | OS family (e.g. redhat, debian, freebsd, windows). 159 | - key: kubernetes 160 | title: Kubernetes 161 | description: > 162 | Kubernetes metadata added by the kubernetes processor 163 | short_config: false 164 | anchor: kubernetes-processor 165 | fields: 166 | - name: kubernetes 167 | type: group 168 | fields: 169 | - name: pod.name 170 | type: keyword 171 | description: > 172 | Kubernetes pod name 173 | 174 | - name: namespace 175 | type: keyword 176 | description: > 177 | Kubernetes namespace 178 | 179 | - name: node.name 180 | type: keyword 181 | description: > 182 | Kubernetes node name 183 | 184 | - name: labels 185 | type: object 186 | description: > 187 | Kubernetes labels map 188 | 189 | - name: annotations 190 | type: object 191 | description: > 192 | Kubernetes annotations map 193 | 194 | - name: container.name 195 | type: keyword 196 | description: > 197 | Kubernetes container name 198 | 199 | - name: container.image 200 | type: keyword 201 | description: > 202 | Kubernetes container image 203 | - key: eosbeat 204 | title: eosbeat 205 | description: 206 | fields: 207 | - name: counter 208 | type: long 209 | required: true 210 | description: > 211 | PLEASE UPDATE DOCUMENTATION 212 | -------------------------------------------------------------------------------- /logs/eosbeat: -------------------------------------------------------------------------------- 1 | 2018-04-27T19:20:06.329-0300 INFO instance/beat.go:479 Home path: [/home/igor/go-eosbeat] Config path: [/home/igor/go-eosbeat] Data path: [/home/igor/go-eosbeat/data] Logs path: [/home/igor/go-eosbeat/logs] 2 | 2018-04-27T19:20:06.336-0300 INFO instance/beat.go:486 Beat UUID: 6468972c-5756-46bb-8d0c-04c8fecb777d 3 | 2018-04-27T19:20:06.336-0300 INFO instance/beat.go:222 Setup Beat: eosbeat; Version: 7.0.0-alpha1 4 | 2018-04-27T19:20:06.336-0300 INFO elasticsearch/client.go:145 Elasticsearch url: http://eosrio.io:9200 5 | 2018-04-27T19:20:06.337-0300 INFO pipeline/module.go:76 Beat name: W230ST 6 | 2018-04-27T19:20:06.338-0300 INFO instance/beat.go:312 eosbeat start running. 7 | 2018-04-27T19:20:06.338-0300 INFO beater/eosbeat.go:207 eosbeat is running! Hit CTRL-C to stop it. 8 | 2018-04-27T19:20:06.338-0300 INFO [monitoring] log/log.go:97 Starting metrics logging every 30s 9 | 2018-04-27T19:20:10.985-0300 INFO elasticsearch/client.go:690 Connected to Elasticsearch version 6.2.4 10 | 2018-04-27T19:20:11.738-0300 INFO template/load.go:73 Template already exists and will not be overwritten. 11 | 2018-04-27T19:20:36.344-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":90,"time":{"ms":93}},"total":{"ticks":180,"time":{"ms":186},"value":180},"user":{"ticks":90,"time":{"ms":93}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":30017}},"memstats":{"gc_next":4194304,"memory_alloc":2019360,"memory_total":4950760,"rss":14630912}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":9,"batches":4,"total":9},"read":{"bytes":2650},"type":"elasticsearch","write":{"bytes":4778}},"pipeline":{"clients":1,"events":{"active":0,"published":9,"retry":1,"total":9},"queue":{"acked":9}}},"system":{"cpu":{"cores":8},"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 12 | 2018-04-27T19:21:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":90},"total":{"ticks":180,"value":180},"user":{"ticks":90}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":60018}},"memstats":{"gc_next":4194304,"memory_alloc":2239232,"memory_total":5170632,"rss":94208}},"libbeat":{"config":{"module":{"running":0}},"output":{"read":{"errors":1}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 13 | 2018-04-27T19:21:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":100,"time":{"ms":16}},"total":{"ticks":190,"time":{"ms":16},"value":190},"user":{"ticks":90}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":90017}},"memstats":{"gc_next":4194304,"memory_alloc":3180096,"memory_total":6111496,"rss":188416}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":2,"active":1,"batches":2,"total":3},"read":{"bytes":479},"write":{"bytes":1655}},"pipeline":{"clients":1,"events":{"active":2,"published":4,"total":4},"queue":{"acked":2}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 14 | 2018-04-27T19:22:06.340-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":150,"time":{"ms":47}},"total":{"ticks":270,"time":{"ms":79},"value":270},"user":{"ticks":120,"time":{"ms":32}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":120017}},"memstats":{"gc_next":4416224,"memory_alloc":2956336,"memory_total":7677816,"rss":479232}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":7,"active":-1,"batches":5,"total":6},"read":{"bytes":2811,"errors":2},"write":{"bytes":3514}},"pipeline":{"clients":1,"events":{"active":0,"published":5,"total":5},"queue":{"acked":7}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 15 | 2018-04-27T19:22:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":150},"total":{"ticks":270,"value":270},"user":{"ticks":120}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":150017}},"memstats":{"gc_next":4416224,"memory_alloc":3185384,"memory_total":7906864,"rss":8192}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 16 | 2018-04-27T19:23:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":170,"time":{"ms":15}},"total":{"ticks":310,"time":{"ms":30},"value":310},"user":{"ticks":140,"time":{"ms":15}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":180018}},"memstats":{"gc_next":4194304,"memory_alloc":1996656,"memory_total":10148080,"rss":421888}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":7,"batches":7,"total":7},"read":{"bytes":3253,"errors":2},"write":{"bytes":4359}},"pipeline":{"clients":1,"events":{"active":0,"published":7,"total":7},"queue":{"acked":7}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 17 | 2018-04-27T19:23:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":200,"time":{"ms":32}},"total":{"ticks":350,"time":{"ms":48},"value":350},"user":{"ticks":150,"time":{"ms":16}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":210017}},"memstats":{"gc_next":4194304,"memory_alloc":3119432,"memory_total":11270856,"rss":49152}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":2,"active":1,"batches":3,"total":3},"read":{"bytes":929,"errors":2},"write":{"bytes":1881}},"pipeline":{"clients":1,"events":{"active":1,"published":3,"total":3},"queue":{"acked":2}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 18 | 2018-04-27T19:24:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":280,"time":{"ms":78}},"total":{"ticks":430,"time":{"ms":78},"value":430},"user":{"ticks":150}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":240018}},"memstats":{"gc_next":4293168,"memory_alloc":3355472,"memory_total":14812288,"rss":458752}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":14,"active":-1,"batches":11,"total":13},"read":{"bytes":5604},"write":{"bytes":7651}},"pipeline":{"clients":1,"events":{"active":0,"published":13,"total":13},"queue":{"acked":14}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 19 | 2018-04-27T19:24:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":290,"time":{"ms":15}},"total":{"ticks":540,"time":{"ms":109},"value":540},"user":{"ticks":250,"time":{"ms":94}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":270018}},"memstats":{"gc_next":4916224,"memory_alloc":2665152,"memory_total":16962600,"rss":57344}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":7,"active":1,"batches":6,"total":8},"read":{"bytes":2357,"errors":1},"write":{"bytes":4495}},"pipeline":{"clients":1,"events":{"active":5,"published":12,"total":12},"queue":{"acked":7}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 20 | 2018-04-27T19:25:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":310,"time":{"ms":16}},"total":{"ticks":560,"time":{"ms":16},"value":560},"user":{"ticks":250}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":300017}},"memstats":{"gc_next":4916224,"memory_alloc":3890040,"memory_total":18187488,"rss":24576}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":13,"active":-1,"batches":3,"total":12},"read":{"bytes":1942,"errors":1},"write":{"bytes":5348}},"pipeline":{"clients":1,"events":{"active":0,"published":8,"total":8},"queue":{"acked":13}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 21 | 2018-04-27T19:25:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":310},"total":{"ticks":560,"value":560},"user":{"ticks":250}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":330018}},"memstats":{"gc_next":4916224,"memory_alloc":4111400,"memory_total":18408848,"rss":12288}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 22 | 2018-04-27T19:26:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":350,"time":{"ms":47}},"total":{"ticks":640,"time":{"ms":93},"value":640},"user":{"ticks":290,"time":{"ms":46}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":360017}},"memstats":{"gc_next":4611872,"memory_alloc":2823256,"memory_total":19208520,"rss":319488}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":2,"batches":2,"total":2},"read":{"bytes":930,"errors":1},"write":{"bytes":1254}},"pipeline":{"clients":1,"events":{"active":0,"published":2,"total":2},"queue":{"acked":2}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 23 | 2018-04-27T19:26:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":350},"total":{"ticks":640,"value":640},"user":{"ticks":290}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":390019}},"memstats":{"gc_next":4611872,"memory_alloc":3141232,"memory_total":19526496}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 24 | 2018-04-27T19:27:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":400,"time":{"ms":47}},"total":{"ticks":740,"time":{"ms":94},"value":740},"user":{"ticks":340,"time":{"ms":47}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":420018}},"memstats":{"gc_next":4997824,"memory_alloc":3262528,"memory_total":21182432,"rss":53248}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":3,"active":1,"batches":4,"total":4},"read":{"bytes":1396,"errors":1},"write":{"bytes":2501}},"pipeline":{"clients":1,"events":{"active":6,"published":9,"total":9},"queue":{"acked":3}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 25 | 2018-04-27T19:27:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":510,"time":{"ms":109}},"total":{"ticks":900,"time":{"ms":156},"value":900},"user":{"ticks":390,"time":{"ms":47}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":450019}},"memstats":{"gc_next":5181120,"memory_alloc":3525888,"memory_total":23219488,"rss":36864}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":13,"active":-1,"batches":7,"total":12},"read":{"bytes":3773,"errors":3},"write":{"bytes":6352}},"pipeline":{"clients":1,"events":{"active":0,"published":7,"total":7},"queue":{"acked":13}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 26 | 2018-04-27T19:28:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560,"time":{"ms":47}},"total":{"ticks":950,"time":{"ms":47},"value":950},"user":{"ticks":390}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":480018}},"memstats":{"gc_next":5473360,"memory_alloc":3701408,"memory_total":25232432,"rss":368640}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":6,"batches":6,"total":6},"read":{"bytes":2789,"errors":2},"write":{"bytes":3746}},"pipeline":{"clients":1,"events":{"active":0,"published":6,"total":6},"queue":{"acked":6}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 27 | 2018-04-27T19:28:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":950,"value":950},"user":{"ticks":390}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":510018}},"memstats":{"gc_next":5473360,"memory_alloc":3872536,"memory_total":25403560}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 28 | 2018-04-27T19:29:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"time":{"ms":63},"value":1010},"user":{"ticks":450,"time":{"ms":63}}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":540017}},"memstats":{"gc_next":5534448,"memory_alloc":3217680,"memory_total":26863296,"rss":385024}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":4,"batches":4,"total":4},"read":{"bytes":1863,"errors":3},"write":{"bytes":2497}},"pipeline":{"clients":1,"events":{"active":1,"published":5,"total":5},"queue":{"acked":4}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 29 | 2018-04-27T19:29:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":570018}},"memstats":{"gc_next":5534448,"memory_alloc":3697208,"memory_total":27342824,"rss":4096}},"libbeat":{"config":{"module":{"running":0}},"output":{"events":{"acked":1,"batches":1,"total":1},"read":{"bytes":463,"errors":1},"write":{"bytes":623}},"pipeline":{"clients":1,"events":{"active":0},"queue":{"acked":1}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 30 | 2018-04-27T19:30:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":600017}},"memstats":{"gc_next":5534448,"memory_alloc":3922968,"memory_total":27568584,"rss":4096}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 31 | 2018-04-27T19:30:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":630018}},"memstats":{"gc_next":5534448,"memory_alloc":4249304,"memory_total":27894920,"rss":20480}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 32 | 2018-04-27T19:31:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":660018}},"memstats":{"gc_next":5297216,"memory_alloc":2643424,"memory_total":28018648,"rss":4096}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 33 | 2018-04-27T19:31:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":690017}},"memstats":{"gc_next":5297216,"memory_alloc":2875848,"memory_total":28251072}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 34 | 2018-04-27T19:32:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":720018}},"memstats":{"gc_next":5297216,"memory_alloc":3096952,"memory_total":28472176}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 35 | 2018-04-27T19:32:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":750017}},"memstats":{"gc_next":5297216,"memory_alloc":3317352,"memory_total":28692576}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 36 | 2018-04-27T19:33:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":780018}},"memstats":{"gc_next":5297888,"memory_alloc":2643792,"memory_total":28921504,"rss":4096}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 37 | 2018-04-27T19:33:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":810017}},"memstats":{"gc_next":5297888,"memory_alloc":2876024,"memory_total":29153736}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 38 | 2018-04-27T19:34:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":840017}},"memstats":{"gc_next":5297888,"memory_alloc":3098408,"memory_total":29376120}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 39 | 2018-04-27T19:34:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":870020}},"memstats":{"gc_next":5297888,"memory_alloc":3320984,"memory_total":29598696}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 40 | 2018-04-27T19:35:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":900017}},"memstats":{"gc_next":5299552,"memory_alloc":2637840,"memory_total":29816968}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 41 | 2018-04-27T19:35:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":930017}},"memstats":{"gc_next":5299552,"memory_alloc":2876104,"memory_total":30055232,"rss":-458752}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 42 | 2018-04-27T19:36:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":960017}},"memstats":{"gc_next":5299552,"memory_alloc":3093080,"memory_total":30272208}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 43 | 2018-04-27T19:36:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":990017}},"memstats":{"gc_next":5299552,"memory_alloc":3324104,"memory_total":30503232,"rss":8192}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 44 | 2018-04-27T19:37:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1020017}},"memstats":{"gc_next":5298944,"memory_alloc":2644000,"memory_total":30725968}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 45 | 2018-04-27T19:37:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1050017}},"memstats":{"gc_next":5298944,"memory_alloc":2869448,"memory_total":30951416}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 46 | 2018-04-27T19:38:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1080018}},"memstats":{"gc_next":5298944,"memory_alloc":3100056,"memory_total":31182024,"rss":-958464}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 47 | 2018-04-27T19:38:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1110018}},"memstats":{"gc_next":5298944,"memory_alloc":3319512,"memory_total":31401480}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 48 | 2018-04-27T19:39:06.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1140018}},"memstats":{"gc_next":5298560,"memory_alloc":2744904,"memory_total":31728368}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 49 | 2018-04-27T19:39:36.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1170017}},"memstats":{"gc_next":5298560,"memory_alloc":2875960,"memory_total":31859424}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 50 | 2018-04-27T19:40:06.341-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1200017}},"memstats":{"gc_next":5298560,"memory_alloc":3098152,"memory_total":32081616}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 51 | 2018-04-27T19:40:36.342-0300 INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s {"monitoring": {"metrics": {"beat":{"cpu":{"system":{"ticks":560},"total":{"ticks":1010,"value":1010},"user":{"ticks":450}},"info":{"ephemeral_id":"63307086-4dc0-4bc6-a7db-0c2352308a95","uptime":{"ms":1230017}},"memstats":{"gc_next":5298560,"memory_alloc":3325544,"memory_total":32309008}},"libbeat":{"config":{"module":{"running":0}},"pipeline":{"clients":1,"events":{"active":0}}},"system":{"load":{"1":0.52,"15":0.59,"5":0.58,"norm":{"1":0.065,"15":0.0738,"5":0.0725}}}}}} 52 | -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | "github.com/eosrio/eosbeat/cmd" 6 | ) 7 | 8 | func main() { 9 | if err := cmd.RootCmd.Execute(); err != nil { 10 | os.Exit(1) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | // This file is mandatory as otherwise the eosbeat.test binary is not generated correctly. 4 | 5 | import ( 6 | "flag" 7 | "testing" 8 | 9 | "github.com/eosrio/eosbeat/cmd" 10 | ) 11 | 12 | var systemTest *bool 13 | 14 | func init() { 15 | systemTest = flag.Bool("systemTest", false, "Set to true when running system tests") 16 | 17 | cmd.RootCmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("systemTest")) 18 | cmd.RootCmd.PersistentFlags().AddGoFlag(flag.CommandLine.Lookup("test.coverprofile")) 19 | } 20 | 21 | // Test started when the test binary is started. Only calls main. 22 | func TestSystem(t *testing.T) { 23 | 24 | if *systemTest { 25 | main() 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /nodes.json: -------------------------------------------------------------------------------- 1 | { 2 | "network": "jungle", 3 | "blockProducerList": [{ 4 | "_id": "5acb5633b63b04532f14b351", 5 | "bp_name": "volcano", 6 | "organisation": "CryptoLions.io", 7 | "location": "Ukraine, Kyiv", 8 | "node_addr": "jungle.cryptolions.io", 9 | "port_http": "8888", 10 | "port_ssl": "", 11 | "port_p2p": "9876", 12 | "pub_key": "EOS7cXZfX7Rjt4WqARdE3MP7QUkgSyzagedq3WncpDb9W6zxvdTmx", 13 | "bp": true, 14 | "enabled": true, 15 | "comment": "", 16 | "telegram": "" 17 | }, { 18 | "_id": "5acb5633b63b04532f14b352", 19 | "bp_name": "lion", 20 | "organisation": "CryptoLions.io", 21 | "location": "Germany", 22 | "node_addr": "dev.cryptolions.io", 23 | "port_http": "8888", 24 | "port_ssl": "", 25 | "port_p2p": "7876", 26 | "pub_key": "EOS4uD43rw6sB46AKWkU5rtXZnnRJeYhAtpwvHszJ8QD3Eqbgg7TE", 27 | "bp": true, 28 | "enabled": true, 29 | "comment": "", 30 | "telegram": "" 31 | }, { 32 | "_id": "5acb5633b63b04532f14b353", 33 | "bp_name": "tiger", 34 | "organisation": "CryptoLions.io", 35 | "location": "Ukraine, Lviv", 36 | "node_addr": "193.93.219.219", 37 | "port_http": "8888", 38 | "port_ssl": "", 39 | "port_p2p": "9876", 40 | "pub_key": "EOS5LdoGyZyWKEnske2RXBfqFpqEnaoLJzmpJgryQrvUYWKRiAN5V", 41 | "bp": true, 42 | "enabled": true, 43 | "comment": "", 44 | "telegram": "" 45 | }, { 46 | "_id": "5acb5633b63b04532f14b354", 47 | "bp_name": "jaguar", 48 | "organisation": "EOS New York", 49 | "location": "Central Canada", 50 | "node_addr": "jungle.eosnewyork.io", 51 | "port_http": "8888", 52 | "port_ssl": "", 53 | "port_p2p": "9876", 54 | "pub_key": "EOS7btfRjDZGTLMcZR8cveHW2kURM8j8fK3VpyUm5muRFvCMhQpRv", 55 | "bp": true, 56 | "enabled": true, 57 | "comment": "", 58 | "telegram": "" 59 | }, { 60 | "_id": "5acb5633b63b04532f14b355", 61 | "bp_name": "bat", 62 | "organisation": "EOSio.se", 63 | "location": "Sweeden", 64 | "node_addr": "ctestnet.edenx.io", 65 | "port_http": "8062", 66 | "port_ssl": "", 67 | "port_p2p": "6602", 68 | "pub_key": "EOS5Fji6x8dgSPHzpi7NpYxQT8V1gxC7cEjKnan2CivHBikS4etyC", 69 | "bp": true, 70 | "enabled": true, 71 | "comment": "", 72 | "telegram": "" 73 | }, { 74 | "_id": "5acb5633b63b04532f14b356", 75 | "bp_name": "mowgli", 76 | "organisation": "roelandp.nl/eos", 77 | "location": "Germany", 78 | "node_addr": "mowgli.jungle3.eos.roelandp.nl", 79 | "port_http": "8765", 80 | "port_ssl": "", 81 | "port_p2p": "9876", 82 | "pub_key": "EOS7mwDoXcrtFzxXA2jmuVHd6LbnZ9tYBZFguSUmtqC5QVenYpE2m", 83 | "bp": true, 84 | "enabled": true, 85 | "comment": "", 86 | "telegram": "" 87 | }, { 88 | "_id": "5acb5633b63b04532f14b357", 89 | "bp_name": "dragonfly", 90 | "organisation": "EOSbcn", 91 | "location": "Barcelona", 92 | "node_addr": "93.176.188.7", 93 | "port_http": "8888", 94 | "port_ssl": "", 95 | "port_p2p": "9876", 96 | "pub_key": "EOS8g1MUTibV9KMD4hHRiA5pygcnVKScjVqB2EYjzz5Ypu5WuagX3", 97 | "bp": false, 98 | "enabled": false, 99 | "comment": "", 100 | "telegram": "" 101 | }, { 102 | "_id": "5acb5633b63b04532f14b358", 103 | "bp_name": "elephant2", 104 | "organisation": "Blockpro.one", 105 | "location": "USA", 106 | "node_addr": "18.188.52.250", 107 | "port_http": "8877", 108 | "port_ssl": "", 109 | "port_p2p": "9876", 110 | "pub_key": "EOS6B1NvFPAUobAJJ12QtLtbeYpSE6mJsotphbqH4n8dMi6jgX9D4", 111 | "bp": true, 112 | "enabled": true, 113 | "comment": "", 114 | "telegram": "" 115 | }, { 116 | "_id": "5acb5633b63b04532f14b359", 117 | "bp_name": "mosquito", 118 | "organisation": "IberEOS", 119 | "location": "Spain", 120 | "node_addr": "mosquito.prometeos.io", 121 | "port_http": "8889", 122 | "port_ssl": "", 123 | "port_p2p": "9877", 124 | "pub_key": "EOS6NDwXffptVFfEENu1iq3aYPpEGFKusoZUkfvr1rcfipdp67HuS", 125 | "bp": true, 126 | "enabled": true, 127 | "comment": "", 128 | "telegram": "" 129 | }, { 130 | "_id": "5acb5633b63b04532f14b35a", 131 | "bp_name": "wombat", 132 | "organisation": "pearls.capital", 133 | "location": "Russia, Moscow", 134 | "node_addr": "pearls.capital", 135 | "port_http": "8888", 136 | "port_ssl": "", 137 | "port_p2p": "9876", 138 | "pub_key": "EOS8bGyjUEAksVm7QY7YBsoHgwzZpxYQAZ6ZxunxxMeUm4KDpUkzi", 139 | "bp": true, 140 | "enabled": true, 141 | "comment": "", 142 | "telegram": "" 143 | }, { 144 | "_id": "5acb5633b63b04532f14b35b", 145 | "bp_name": "fox", 146 | "organisation": "EOS Rio", 147 | "location": "Brazil, Rio de Janeiro", 148 | "node_addr": "eosrio.entropia.in", 149 | "port_http": "8889", 150 | "port_ssl": "", 151 | "port_p2p": "9876", 152 | "pub_key": "EOS88KfcP3uMHg3BJ6skz3ja7S7nYc54Ki4k5nUzySgXuMXqEQAfd", 153 | "bp": true, 154 | "enabled": true, 155 | "comment": "", 156 | "telegram": "" 157 | }, { 158 | "_id": "5acb5633b63b04532f14b35c", 159 | "bp_name": "fox_node", 160 | "organisation": "EOS Rio", 161 | "location": "Brazil, Rio de Janeiro", 162 | "node_addr": "54.233.222.22", 163 | "port_http": "8886", 164 | "port_ssl": "", 165 | "port_p2p": "9874", 166 | "pub_key": "EOS88KfcP3uMHg3BJ6skz3ja7S7nYc54Ki4k5nUzySgXuMXqEQAfd", 167 | "bp": false, 168 | "enabled": true, 169 | "comment": "", 170 | "telegram": "" 171 | }, { 172 | "_id": "5acb5633b63b04532f14b35d", 173 | "bp_name": "gorilla", 174 | "organisation": "EOS UK", 175 | "location": "UK", 176 | "node_addr": "Jungle.eosuk.io", 177 | "port_http": "8427", 178 | "port_ssl": "", 179 | "port_p2p": "9927", 180 | "pub_key": "EOS8MoH5xdnrsvNo2bd2So7QZXZx6Uyvuq8yMBikfUVhFmNoqCnLH", 181 | "bp": true, 182 | "enabled": true, 183 | "comment": "", 184 | "telegram": "@EOS_Nottingham @DanBroad" 185 | }, { 186 | "_id": "5acb5633b63b04532f14b35e", 187 | "bp_name": "honeybadger", 188 | "organisation": "EOS42", 189 | "location": "Uk, London", 190 | "node_addr": "35.189.107.125", 191 | "port_http": "8888", 192 | "port_ssl": "", 193 | "port_p2p": "9876", 194 | "pub_key": "EOS72X4XCPT7tfRXATi9DdatFS1jwTeQZDksbiiDG3SKTvj3FxxXx", 195 | "bp": true, 196 | "enabled": true, 197 | "comment": "", 198 | "telegram": "" 199 | }, { 200 | "_id": "5acb5633b63b04532f14b35f", 201 | "bp_name": "sloth", 202 | "organisation": "EOS Botetourt", 203 | "location": "Singapore", 204 | "node_addr": "188.166.226.110", 205 | "port_http": "8888", 206 | "port_ssl": "", 207 | "port_p2p": "9876", 208 | "pub_key": "EOS6jW8JkdRjrjgXdF8Fm2ZVnys6rCJ4fqSCPk9QgEpS9Vksse3rc", 209 | "bp": true, 210 | "enabled": true, 211 | "comment": "", 212 | "telegram": "" 213 | }, { 214 | "_id": "5acb5633b63b04532f14b360", 215 | "bp_name": "langurs", 216 | "organisation": "EOSgreen.io", 217 | "location": "UK", 218 | "node_addr": "eosgreen.uk.to", 219 | "port_http": "8777", 220 | "port_ssl": "", 221 | "port_p2p": "9543", 222 | "pub_key": "EOS8f36VS4PFLhr4xnRMDSvnLjwpkNv4n9NZLf4cF1ZpbTjRsUC3Z", 223 | "bp": true, 224 | "enabled": true, 225 | "comment": "", 226 | "telegram": "" 227 | }, { 228 | "_id": "5acb5633b63b04532f14b361", 229 | "bp_name": "tokki", 230 | "organisation": "www.eosnodeone.io", 231 | "location": "Seoul", 232 | "node_addr": "bpseoul.eosnodeone.io", 233 | "port_http": "8888", 234 | "port_ssl": "", 235 | "port_p2p": "9876", 236 | "pub_key": "EOS7h6Cz39hUym1vQkofXn51Ctdz4mryZaydRs2ph4Z8BuzmX7vwV", 237 | "bp": true, 238 | "enabled": true, 239 | "comment": "", 240 | "telegram": "" 241 | }, { 242 | "_id": "5acb5633b63b04532f14b362", 243 | "bp_name": "whale", 244 | "organisation": "EOS.Cafe", 245 | "location": "Canada", 246 | "node_addr": "whale.eoscalgary.com", 247 | "port_http": "80", 248 | "port_ssl": "", 249 | "port_p2p": "9876", 250 | "pub_key": "EOS8Y754s6fgT2rhAidn7N9zXJUXCw6o8iv3Xyy7kdgaDNLoqxJhu", 251 | "bp": true, 252 | "enabled": true, 253 | "comment": "", 254 | "telegram": "" 255 | }, { 256 | "_id": "5acb5633b63b04532f14b363", 257 | "bp_name": "panther", 258 | "organisation": "EOS42.io", 259 | "location": "London", 260 | "node_addr": "bp4-d3.eos42.io", 261 | "port_http": "8888", 262 | "port_ssl": "", 263 | "port_p2p": "9876", 264 | "pub_key": "EOS7zhtk8CjvuuT33Uyn6oXHMKqcifiMuSomqT6BmL5ptNBrmTubo", 265 | "bp": true, 266 | "enabled": true, 267 | "comment": "", 268 | "telegram": "" 269 | }, { 270 | "_id": "5acb5633b63b04532f14b364", 271 | "bp_name": "tortoise", 272 | "organisation": "EOSdac.io", 273 | "location": "UK", 274 | "node_addr": "145.239.252.91", 275 | "port_http": "8888", 276 | "port_ssl": "", 277 | "port_p2p": "9877", 278 | "pub_key": "EOS8Eb76Wf2DcGZ58c8i5MZeEZvECz8dyGmR6LZRboeHue59k6a2B", 279 | "bp": true, 280 | "enabled": true, 281 | "comment": "", 282 | "telegram": "" 283 | }, { 284 | "_id": "5acb5633b63b04532f14b365", 285 | "bp_name": "galapago", 286 | "organisation": "bitcoineos.fun", 287 | "location": "Germany", 288 | "node_addr": "95.216.20.181", 289 | "port_http": "7010", 290 | "port_ssl": "", 291 | "port_p2p": "7015", 292 | "pub_key": "EOS7eLwiaN1tqqNLKE3wgfV3MWPPCsxY5PFVpFpvj8jpqVKTkqouH", 293 | "bp": true, 294 | "enabled": true, 295 | "comment": "", 296 | "telegram": "" 297 | }, { 298 | "_id": "5acb5633b63b04532f14b366", 299 | "bp_name": "mpenjati", 300 | "organisation": "EOS.IO Africa", 301 | "location": "Africa", 302 | "node_addr": "mpenjati.eosio.africa", 303 | "port_http": "8888", 304 | "port_ssl": "", 305 | "port_p2p": "9876", 306 | "pub_key": "EOS67Znu8W4sBH4RzYAPy3MekGsbwNK7pJhreQoZh58RU9sDGPYzm", 307 | "bp": true, 308 | "enabled": true, 309 | "comment": "", 310 | "telegram": "" 311 | }, { 312 | "_id": "5acb5633b63b04532f14b367", 313 | "bp_name": "cougars", 314 | "organisation": "EOSeoul.io", 315 | "location": "Korea, Seoul", 316 | "node_addr": "testnet01.eoseoul.io", 317 | "port_http": "8801", 318 | "port_ssl": "", 319 | "port_p2p": "9901", 320 | "pub_key": "EOS7n66sCn99KpCCZ3pucUzXRtGaa38brfoERB71uF7GTopXFiWE2", 321 | "bp": true, 322 | "enabled": true, 323 | "comment": "", 324 | "telegram": "" 325 | }, { 326 | "_id": "5acb5633b63b04532f14b368", 327 | "bp_name": "ladybird", 328 | "organisation": "EOSBcn", 329 | "location": "Barcelona", 330 | "node_addr": "46.101.95.5", 331 | "port_http": "8888", 332 | "port_ssl": "", 333 | "port_p2p": "9876", 334 | "pub_key": "EOS4yS1YPWHaeEXGaT6RP5Hunyea1SgFdAUqEARyHXV5C7FUzbvLC", 335 | "bp": true, 336 | "enabled": true, 337 | "comment": " virtual server on Digital Ocean", 338 | "telegram": "" 339 | }, { 340 | "_id": "5acb5633b63b04532f14b369", 341 | "bp_name": "giraffe", 342 | "organisation": "Niuchain", 343 | "location": "Hong Kong", 344 | "node_addr": "154.48.249.19", 345 | "port_http": "8888", 346 | "port_ssl": "", 347 | "port_p2p": "9876", 348 | "pub_key": "EOS6Sfi9XvXa4QN4DiTdZnNcCf6U4ubLmVTozK8DYvdPUqhmh7KMu", 349 | "bp": true, 350 | "enabled": true, 351 | "comment": "user: Funny", 352 | "telegram": "" 353 | }, { 354 | "_id": "5acb5633b63b04532f14b36a", 355 | "bp_name": "rhino", 356 | "organisation": "HKEOS", 357 | "location": "Hong Kong", 358 | "node_addr": "alessia.hkeos.com", 359 | "port_http": "8888", 360 | "port_ssl": "", 361 | "port_p2p": "9876", 362 | "pub_key": "EOS4tiVonwbmT6w5jZjxaWx8p1CkejsBtcwtn6YaqZRteKyYGQZAE", 363 | "bp": true, 364 | "enabled": true, 365 | "comment": "", 366 | "telegram": "" 367 | }, { 368 | "_id": "5acb5633b63b04532f14b36b", 369 | "bp_name": "cheetah", 370 | "organisation": "EOS Amsterdam", 371 | "location": "Amsterdam", 372 | "node_addr": "cheetah.jungle3.bptn.eosamsterdam.net", 373 | "port_http": "8888", 374 | "port_ssl": "", 375 | "port_p2p": "9876", 376 | "pub_key": "EOS5FFj3wh77cDmwS1X4QcJcB19mS2CPbiv4R4VmeBtKzLeZNYwP4", 377 | "bp": true, 378 | "enabled": true, 379 | "comment": "@monetashi Boy Maas - EOS Amsterdam", 380 | "telegram": "" 381 | }, { 382 | "_id": "5acb5633b63b04532f14b36c", 383 | "bp_name": "termite", 384 | "organisation": "EOS-East", 385 | "location": "London", 386 | "node_addr": "robotikalis.ddns.net", 387 | "port_http": "8888", 388 | "port_ssl": "", 389 | "port_p2p": "9876", 390 | "pub_key": "EOS6Evo5cBXjCyydTbLcssGyUtez31PvxB2UTxt5BFdsL5MTqAaeR", 391 | "bp": true, 392 | "enabled": true, 393 | "comment": "old ant (EOS6ZyjuB8ip1wkifPfVqj1Ran9nynNr4hVJUhU88mZpWPbUBZ4X2)", 394 | "telegram": "Matthew" 395 | }, { 396 | "_id": "5acb5633b63b04532f14b36d", 397 | "bp_name": "snake", 398 | "organisation": "EOSIndia", 399 | "location": "India", 400 | "node_addr": "testnet.eosindia.io", 401 | "port_http": "8888", 402 | "port_ssl": "", 403 | "port_p2p": "9876", 404 | "pub_key": "EOS5gGPXgn2BjqdmHxY2S47dD7eUE7GNdtPuFGQqQM8AqvZk7kMBB", 405 | "bp": true, 406 | "enabled": true, 407 | "comment": "", 408 | "telegram": "@taraldesai" 409 | }, { 410 | "_id": "5acb5633b63b04532f14b36e", 411 | "bp_name": "tapir", 412 | "organisation": "0xc0ffee", 413 | "location": "Germany", 414 | "node_addr": "195.201.131.218", 415 | "port_http": "8888", 416 | "port_ssl": "", 417 | "port_p2p": "9876", 418 | "pub_key": "EOS7JGLyU17YFMwUjUSj3Udq8ST1hxYzdvs8rxwrGqVmTuAp9eJ2S", 419 | "bp": true, 420 | "enabled": true, 421 | "comment": "", 422 | "telegram": "@maxblock" 423 | }, { 424 | "_id": "5acb5633b63b04532f14b36f", 425 | "bp_name": "boar", 426 | "organisation": "EOSBR", 427 | "location": "USA, San Francisco", 428 | "node_addr": "138.68.238.129", 429 | "port_http": "8890", 430 | "port_ssl": "", 431 | "port_p2p": "9876", 432 | "pub_key": "EOS8XecFVmptNZktRCLyBV71V2hXoxmTonpZtQG8TGcW7K9aVc3m6", 433 | "bp": true, 434 | "enabled": true, 435 | "comment": "", 436 | "telegram": "@eduardoelias" 437 | }, { 438 | "_id": "5acb5633b63b04532f14b370", 439 | "bp_name": "spider", 440 | "organisation": "北京星云比特科技有限公司", 441 | "location": "China , Beijing", 442 | "node_addr": "211.159.182.240", 443 | "port_http": "8888", 444 | "port_ssl": "", 445 | "port_p2p": "9876", 446 | "pub_key": "EOS7ez4g6m6jXh1fJND2hjFpfKr2f5Bj8fQq4eNWoRKErqYfvZyea", 447 | "bp": true, 448 | "enabled": true, 449 | "comment": "", 450 | "telegram": "@eduardoelias" 451 | }, { 452 | "_id": "5acbb445b63b04532f14b371", 453 | "bp_name": "koala", 454 | "organisation": "GenerEOS", 455 | "location": "Australia, Sydney", 456 | "node_addr": "jungle.genereos.io", 457 | "port_http": "8888", 458 | "port_ssl": "", 459 | "port_p2p": "9876", 460 | "pub_key": "EOS77uvbjTcBWvk9Le8gGYw7AxXEfibHdxNnREBHQQMEoNnYcWTtA", 461 | "bp": true, 462 | "enabled": true, 463 | "comment": "Google Cloud", 464 | "telegram": "@nsrempel" 465 | }, { 466 | "_id": "5acbd4294b43bf14300f9830", 467 | "bp_name": "beaver", 468 | "organisation": "EOS Calgary", 469 | "location": "Canada, Calgary", 470 | "node_addr": "54.200.153.106", 471 | "port_http": "8888", 472 | "port_ssl": "", 473 | "port_p2p": "9876", 474 | "pub_key": "EOS7PegBZsf9i9briyqsuwR7Hr2e2pkm9DYifogUnRb6ewZTbMNJt", 475 | "bp": true, 476 | "enabled": true, 477 | "comment": "", 478 | "telegram": "@n_doy" 479 | }, { 480 | "_id": "5acc92d44b43bf14300f9832", 481 | "bp_name": "unicorn", 482 | "organisation": "SuperONE.io", 483 | "location": "China", 484 | "node_addr": "39.108.231.157", 485 | "port_http": "8888", 486 | "port_ssl": "", 487 | "port_p2p": "9876", 488 | "pub_key": "EOS6e4KFmvuSyCudd8KhuEiSt19Bcoa6kUYCMaT5wBTVPnxyy5Aow", 489 | "bp": true, 490 | "enabled": true, 491 | "comment": "", 492 | "telegram": "@robinwen" 493 | }, { 494 | "_id": "5acc976c4b43bf14300f9833", 495 | "bp_name": "scorpion", 496 | "organisation": "EOS Zodiac", 497 | "location": "China, Peking", 498 | "node_addr": "139.198.3.99", 499 | "port_http": "8888", 500 | "port_ssl": "", 501 | "port_p2p": "9876", 502 | "pub_key": "EOS7Yspf9WSFLrY1VmDWf1Gxz3DzBndCq33PCNgFqmywcV6hG7u38", 503 | "bp": true, 504 | "enabled": true, 505 | "comment": "Qing Cloud", 506 | "telegram": "@liangcd" 507 | }, { 508 | "_id": "5acdca924b43bf14300f9834", 509 | "bp_name": "hummingbird", 510 | "organisation": "EOSeco", 511 | "location": "China, Shanghai", 512 | "node_addr": "jungle.eoseco.net", 513 | "port_http": "8888", 514 | "port_ssl": "", 515 | "port_p2p": "9876", 516 | "pub_key": "EOS85fDTxvb2P6cXuz5nQyaDwTPbemwcw6KyVDmHHZaGFNog5fBCK", 517 | "bp": true, 518 | "enabled": true, 519 | "comment": "", 520 | "telegram": "@Joshuaqiu" 521 | }, { 522 | "_id": "5acf1ae24b43bf14300f9835", 523 | "bp_name": "tiger-node", 524 | "organisation": "CryptoLions.io", 525 | "location": "Ukraine, Lviv", 526 | "node_addr": "193.93.219.219", 527 | "port_http": "6888", 528 | "port_ssl": "", 529 | "port_p2p": "7876", 530 | "pub_key": "", 531 | "bp": false, 532 | "enabled": false, 533 | "comment": "", 534 | "telegram": "" 535 | }, { 536 | "_id": "5acf27984b43bf14300f9836", 537 | "bp_name": "kangaroo", 538 | "organisation": "EOSphere.io", 539 | "location": "Australia", 540 | "node_addr": "jungle.eosphere.io", 541 | "port_http": "8888", 542 | "port_ssl": "", 543 | "port_p2p": "9876", 544 | "pub_key": "EOS6ahXXcoe7gku6tAguFviS9KB7yA9S74ayKrEva1p1aNvcEU3TB", 545 | "bp": true, 546 | "enabled": true, 547 | "comment": "", 548 | "telegram": "@walt_EOSphere" 549 | }, { 550 | "_id": "5acf29f74b43bf14300f9837", 551 | "bp_name": "leaf", 552 | "organisation": "Dynamics", 553 | "location": "Netherlands", 554 | "node_addr": "185.244.150.11", 555 | "port_http": "8888", 556 | "port_ssl": "", 557 | "port_p2p": "9876", 558 | "pub_key": "EOS6WMkjL2CDxqRwTGw9CftTVynzGQDZG87qQtNrDSu6PFLDyHVWP", 559 | "bp": true, 560 | "enabled": true, 561 | "comment": "", 562 | "telegram": "@Rick285" 563 | }, { 564 | "_id": "5acfaba54b43bf14300f9838", 565 | "bp_name": "macaw", 566 | "organisation": "EOSMX", 567 | "location": "USA", 568 | "node_addr": "52.44.113.122", 569 | "port_http": "80", 570 | "port_ssl": "", 571 | "port_p2p": "9876", 572 | "pub_key": "EOS7WDxeKKZWapFzHoKukzCoT3rt91DNRwNccAjDakmgPtrWmXsd3", 573 | "bp": true, 574 | "enabled": true, 575 | "comment": "", 576 | "telegram": "Rick" 577 | }, { 578 | "_id": "5acfc36b4b43bf14300f9839", 579 | "bp_name": "parrot", 580 | "organisation": "Todd Fleming", 581 | "location": "USA, Virginia", 582 | "node_addr": "testchain.jscut.org", 583 | "port_http": "8888", 584 | "port_ssl": "", 585 | "port_p2p": "9876", 586 | "pub_key": "EOS7noqKmnnuh1u1Ha35FqyJ8ZXm5rR5vPmr9L7Db6QB3qgHrF9hP", 587 | "bp": true, 588 | "enabled": true, 589 | "comment": "", 590 | "telegram": "Todd Fleming" 591 | }, { 592 | "_id": "5ad07b964b43bf14300f983a", 593 | "bp_name": "pug", 594 | "organisation": "ViaBTC", 595 | "location": "China, Shenzhen", 596 | "node_addr": "120.79.155.118", 597 | "port_http": "8888", 598 | "port_ssl": "", 599 | "port_p2p": "9877", 600 | "pub_key": "EOS589V9T9EBqMZoE8urrtDzaCu6YWwg7ZhY6HKgxtqWRPH19ABGA", 601 | "bp": true, 602 | "enabled": true, 603 | "comment": "", 604 | "telegram": "@Robin_lg" 605 | }, { 606 | "_id": "5ad098b54b43bf14300f983b", 607 | "bp_name": "capybara", 608 | "organisation": "EOSDublin.com", 609 | "location": "Dublin", 610 | "node_addr": "testnet.eosdublin.io", 611 | "port_http": "8444", 612 | "port_ssl": "8444", 613 | "port_p2p": "9878", 614 | "pub_key": "EOS6L6TyvSbPFfPNEoM8ZAs23xZK68yYUBqeSRbuZRu3EWsG3LUF8", 615 | "bp": true, 616 | "enabled": true, 617 | "comment": "", 618 | "telegram": "@samnoble" 619 | }, { 620 | "_id": "5ad127c04b43bf14300f983c", 621 | "bp_name": "bear", 622 | "organisation": "EOS SLC", 623 | "location": "USA, Bluffdale, UT", 624 | "node_addr": "eosslc.com", 625 | "port_http": "8889", 626 | "port_ssl": "", 627 | "port_p2p": "9877", 628 | "pub_key": "EOS6nU85ioXFHATeCCudwc3BUwAR5Ya68XpsP4uLqX9Lvjj2sPiFC", 629 | "bp": true, 630 | "enabled": true, 631 | "comment": "", 632 | "telegram": "@eluzgin" 633 | }, { 634 | "_id": "5ad1b8324b43bf14300f983d", 635 | "bp_name": "salamander", 636 | "organisation": "Worbli", 637 | "location": "USA Ohio", 638 | "node_addr": "jungle.worbli.io", 639 | "port_http": "8888", 640 | "port_ssl": "", 641 | "port_p2p": "9876", 642 | "pub_key": "EOS6GQUD2VZPdNJUyUNBGcgVT96CrnQmMRuCCf8vGESSk6ayE2nGG", 643 | "bp": true, 644 | "enabled": true, 645 | "comment": "", 646 | "telegram": "Robert DeWilder - Worbli" 647 | }, { 648 | "_id": "5ad1c1a24b43bf14300f983e", 649 | "bp_name": "crow", 650 | "organisation": "EOS UIP", 651 | "location": "China", 652 | "node_addr": "47.92.97.56", 653 | "port_http": "8888", 654 | "port_ssl": "", 655 | "port_p2p": "9876", 656 | "pub_key": "EOS693uVCr2rKpM7DisgghshmztgLiEuURj93q9ijeHWAN1SUV9Pt", 657 | "bp": true, 658 | "enabled": true, 659 | "comment": "", 660 | "telegram": "ben" 661 | }, { 662 | "_id": "5ad1c5fc4b43bf14300f983f", 663 | "bp_name": "wildcat", 664 | "organisation": "EOS Asia", 665 | "location": "Seoul", 666 | "node_addr": "bp-test.eosasia.one", 667 | "port_http": "8800", 668 | "port_ssl": "", 669 | "port_p2p": "6600", 670 | "pub_key": "EOS61JHByEJf3Ro6zJq6Xe2EG82tW4o365V1zYeWWK24WRxF13mwS", 671 | "bp": true, 672 | "enabled": true, 673 | "comment": "", 674 | "telegram": "@Gaijinjoe" 675 | }, { 676 | "_id": "5ad2106e4b43bf14300f9840", 677 | "bp_name": "elk", 678 | "organisation": "EOS Gravity", 679 | "location": "Hong Kong", 680 | "node_addr": "47.52.18.70", 681 | "port_http": "8388", 682 | "port_ssl": "", 683 | "port_p2p": "3389", 684 | "pub_key": "EOS61v6RWcFMuRMTVZUWYjPnhQBWqzBkXtHV8jrQ7bBTAry6etEhU", 685 | "bp": true, 686 | "enabled": true, 687 | "comment": "", 688 | "telegram": "@Gaijinjoe" 689 | }, { 690 | "_id": "5ad2707b4b43bf14300f9842", 691 | "bp_name": "tarsier", 692 | "organisation": "blckchnd.com", 693 | "location": "Germany, Falkenstein", 694 | "node_addr": "jungle.eos.blckchnd.com", 695 | "port_http": "8888", 696 | "port_ssl": "", 697 | "port_p2p": "9876", 698 | "pub_key": "EOS6VG88TsufLFhHYJscqXYQWFWgDCHUBYtvk6eXvpxEuYV9MUKGk", 699 | "bp": true, 700 | "enabled": true, 701 | "comment": "", 702 | "telegram": "@ruslansalikhov" 703 | }, { 704 | "_id": "5ad30fc14b43bf14300f9843", 705 | "bp_name": "toucan", 706 | "organisation": "wancloud", 707 | "location": "HongKong", 708 | "node_addr": "128.1.133.206", 709 | "port_http": "8888", 710 | "port_ssl": "", 711 | "port_p2p": "9876", 712 | "pub_key": "EOS7wUEGtMFCVo4QA3Rica9wEsuVz6DAtEyNFyah22SmuLqxVcdrt", 713 | "bp": true, 714 | "enabled": true, 715 | "comment": "", 716 | "telegram": "@ahlifei" 717 | }, { 718 | "_id": "5ad3101c4b43bf14300f9844", 719 | "bp_name": "bull", 720 | "organisation": "EOS.Hedging", 721 | "location": "Hong Kong", 722 | "node_addr": "47.52.64.9", 723 | "port_http": "8888", 724 | "port_ssl": "", 725 | "port_p2p": "9876", 726 | "pub_key": "EOS8kSPL1GDUFJqQbESNTTLAuERuNTUtNvj2EUTAFEf2U5iq5iyAA", 727 | "bp": true, 728 | "enabled": true, 729 | "comment": "", 730 | "telegram": "luyao zhang" 731 | }, { 732 | "_id": "5ad3114b4b43bf14300f9845", 733 | "bp_name": "doppelganger", 734 | "organisation": "James Sutherland", 735 | "location": "USA Oregon", 736 | "node_addr": "52.37.122.21", 737 | "port_http": "8888", 738 | "port_ssl": "", 739 | "port_p2p": "9876", 740 | "pub_key": "EOS5FFKwpH6HzCtndWMDi77BVF6yNrdz4sLp9vG6YFw3NpzFhrXiN", 741 | "bp": true, 742 | "enabled": true, 743 | "comment": "", 744 | "telegram": "James Sutherland" 745 | }, { 746 | "_id": "5ad311c94b43bf14300f9846", 747 | "bp_name": "eagle", 748 | "organisation": "EOS Beijing", 749 | "location": "Hongkong", 750 | "node_addr": "eosbeijing.one", 751 | "port_http": "8888", 752 | "port_ssl": "", 753 | "port_p2p": "9876", 754 | "pub_key": "EOS6q3CV1Wv4nxwjw1No7M22CcM7AeRM2eZdaaNqsEmouD3saMArj", 755 | "bp": true, 756 | "enabled": true, 757 | "comment": "", 758 | "telegram": "lucas shang" 759 | }, { 760 | "_id": "5ad315664b43bf14300f9847", 761 | "bp_name": "wolverine", 762 | "organisation": "BP Node", 763 | "location": "Canada, Monreal", 764 | "node_addr": "35.182.46.236", 765 | "port_http": "9879", 766 | "port_ssl": "", 767 | "port_p2p": "6879", 768 | "pub_key": "EOS4wGAn8b5Aw2e2H7Y3x7jspV2e5pkrMFdYfgwzUsmbENr33cmA2", 769 | "bp": true, 770 | "enabled": true, 771 | "comment": "", 772 | "telegram": "@ssekhon" 773 | }, { 774 | "_id": "5ad394c34b43bf14300f9848", 775 | "bp_name": "raven", 776 | "organisation": "EOS NL", 777 | "location": "Frankfurt", 778 | "node_addr": "52.58.245.131", 779 | "port_http": "8888", 780 | "port_ssl": "", 781 | "port_p2p": "9876", 782 | "pub_key": "EOS5E6qVDEVFe9ZE9fPxWTCdjTVcbxH11K5PqwZPPFwfFqwfD5DrY", 783 | "bp": true, 784 | "enabled": true, 785 | "comment": "", 786 | "telegram": "@ThomasStorm" 787 | }, { 788 | "_id": "5ad40a504b43bf14300f9849", 789 | "bp_name": "gazelle", 790 | "organisation": "BlockSmith", 791 | "location": "USA", 792 | "node_addr": "198.58.114.211", 793 | "port_http": "8888", 794 | "port_ssl": "", 795 | "port_p2p": "9876", 796 | "pub_key": "EOS7GpCZ7Sc5L5MMP18bNfqQH6Ga1tDaaN69ynUa1tfZQw32xWdzQ", 797 | "bp": true, 798 | "enabled": true, 799 | "comment": "", 800 | "telegram": "@JerryHuff" 801 | }, { 802 | "_id": "5ad477c54b43bf14300f984a", 803 | "bp_name": "marten", 804 | "organisation": "TestNode", 805 | "location": "Russia", 806 | "node_addr": "217.115.85.26", 807 | "port_http": "8888", 808 | "port_ssl": "", 809 | "port_p2p": "9876", 810 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 811 | "bp": true, 812 | "enabled": true, 813 | "comment": "", 814 | "telegram": "@sss_CRS_sss" 815 | }, { 816 | "_id": "5ad4a9f54b43bf14300f984b", 817 | "bp_name": "hippo", 818 | "organisation": "EOSBlock.co", 819 | "location": "USA, Los Angeles", 820 | "node_addr": "107.150.102.38", 821 | "port_http": "8888", 822 | "port_ssl": "", 823 | "port_p2p": "9876", 824 | "pub_key": "EOS7QjAfxo5Rkjh6KoudvaJMasCvE41CKy1uQTZdDfqgAwqa2LCvy", 825 | "bp": true, 826 | "enabled": true, 827 | "comment": "", 828 | "telegram": "@tyeenoprom" 829 | }, { 830 | "_id": "5ad4d07d4b43bf14300f984c", 831 | "bp_name": "racoon", 832 | "organisation": "eosemerge.io", 833 | "location": "Poland", 834 | "node_addr": "188.117.144.164", 835 | "port_http": "8889", 836 | "port_ssl": "", 837 | "port_p2p": "9877", 838 | "pub_key": "EOS8SmmiQj71JLJtfUenYb2S1y2gdfWCALnbRUXSeosc5R1GC4gpi", 839 | "bp": true, 840 | "enabled": true, 841 | "comment": "", 842 | "telegram": "@Om4tic" 843 | }, { 844 | "_id": "5ad6242c4b43bf14300f984d", 845 | "bp_name": "quokka", 846 | "organisation": "EOSREAL", 847 | "location": "Mumbai-AWS", 848 | "node_addr": "quokka.eosreal.io", 849 | "port_http": "8868", 850 | "port_ssl": "", 851 | "port_p2p": "9886", 852 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 853 | "bp": true, 854 | "enabled": true, 855 | "comment": "", 856 | "telegram": "mao EOSREAL" 857 | }, { 858 | "_id": "5ad7384b4b43bf14300f984e", 859 | "bp_name": "rabbit", 860 | "organisation": "EOS Cannon", 861 | "location": "China", 862 | "node_addr": "119.3.22.124", 863 | "port_http": "8888", 864 | "port_ssl": "", 865 | "port_p2p": "9876", 866 | "pub_key": "EOS5Cdoskbc6pY3M7TPg79utscwuME92CR7J7CwsKjHhgeDfoAPuQ", 867 | "bp": true, 868 | "enabled": true, 869 | "comment": "", 870 | "telegram": "@Luckybean" 871 | }, { 872 | "_id": "5ad891aa8faa930771489b34", 873 | "bp_name": "panther-node", 874 | "organisation": "EOS42", 875 | "location": "UK, London", 876 | "node_addr": "node-d3.eos42.io", 877 | "port_http": "8888", 878 | "port_ssl": "", 879 | "port_p2p": "9876", 880 | "pub_key": "EOS54VPto7BFG7taN5myqbtojAdSmvBU1wHhKkzBKmNUdGJGMuZpb", 881 | "bp": false, 882 | "enabled": true, 883 | "comment": "", 884 | "telegram": "@ankh2054 Charles H - EOS 42" 885 | }, { 886 | "_id": "5adb9b8c8faa930771489b73", 887 | "bp_name": "mamba", 888 | "organisation": "mamba", 889 | "location": "USA, Denver, CO", 890 | "node_addr": "5280.duckdns.org", 891 | "port_http": "8888", 892 | "port_ssl": "", 893 | "port_p2p": "9876", 894 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 895 | "bp": true, 896 | "enabled": true, 897 | "comment": "", 898 | "telegram": "James L" 899 | }, { 900 | "_id": "5adc73c88faa930771489b75", 901 | "bp_name": "monkey", 902 | "organisation": "EOSLaoMao.com", 903 | "location": "Japan, Tokyo", 904 | "node_addr": "meow.eoslaomao.com", 905 | "port_http": "80", 906 | "port_ssl": "", 907 | "port_p2p": "9876", 908 | "pub_key": "EOS5QT5g1t4PqpmTo4hzoj5rtc7j2CRjCJfbq3Sb2f4TdzgwXjxXC", 909 | "bp": true, 910 | "enabled": true, 911 | "comment": "", 912 | "telegram": "@zhaoyu" 913 | }, { 914 | "_id": "5adda414f7b72709b418669a", 915 | "bp_name": "glowwarm", 916 | "organisation": "ChainPool", 917 | "location": "Japan, Tokyo", 918 | "node_addr": "dev.chainpool.io", 919 | "port_http": "7780", 920 | "port_ssl": "", 921 | "port_p2p": "7781", 922 | "pub_key": "EOS7GEL7tGYSjLXJhnHhupeJY2grTz2U3SXwLRxFqrcvfryyPzauN", 923 | "bp": true, 924 | "enabled": true, 925 | "comment": "", 926 | "telegram": "@liuchengxu" 927 | }, { 928 | "_id": "5addd296f7b72709b418669b", 929 | "bp_name": "frog", 930 | "organisation": "Bitfinex", 931 | "location": "Switzerland, Zurich", 932 | "node_addr": "eos-bp.bitfinex.com", 933 | "port_http": "8888", 934 | "port_ssl": "", 935 | "port_p2p": "9876", 936 | "pub_key": "EOS64PTtiaVKf2zMWDuC93mFNPQaGzGeu2EgzaRcHhbALtXACh6KA", 937 | "bp": true, 938 | "enabled": true, 939 | "comment": "", 940 | "telegram": "@prdn0" 941 | }, { 942 | "_id": "5addff24f7b72709b418669c", 943 | "bp_name": "dolphin", 944 | "organisation": "EOSEOS", 945 | "location": "Ireland", 946 | "node_addr": "34.251.121.82", 947 | "port_http": "8888", 948 | "port_ssl": "", 949 | "port_p2p": "9876", 950 | "pub_key": "EOS7UddrMsaVTpJoWYg3YRzMLsD2QUCAaBskYcgDnka78d4mpxXhy", 951 | "bp": true, 952 | "enabled": true, 953 | "comment": "", 954 | "telegram": "It" 955 | }, { 956 | "_id": "5ade0099f7b72709b418669d", 957 | "bp_name": "lamb", 958 | "organisation": "EOSVibes", 959 | "location": "Germany, Kassel", 960 | "node_addr": "173.212.227.190", 961 | "port_http": "8888", 962 | "port_ssl": "", 963 | "port_p2p": "9876", 964 | "pub_key": "EOS7UP6X1dtetsL5hkCiC77sxadkLoJHvbk9hc1WAx7tVyGVrBwzb", 965 | "bp": true, 966 | "enabled": true, 967 | "comment": "", 968 | "telegram": "@boltxyz" 969 | }, { 970 | "_id": "5adefc42503ce85f129c1abd", 971 | "bp_name": "honeybadger-node", 972 | "organisation": "EOS42", 973 | "location": "UK, London", 974 | "node_addr": "node2-d3.eos42.io", 975 | "port_http": "8888", 976 | "port_ssl": "", 977 | "port_p2p": "9876", 978 | "pub_key": "EOS5yJ2N3U6viyrg7XLnhhVQQSdznLWqhekJfzgvCFoM9AyWBFQf1", 979 | "bp": false, 980 | "enabled": true, 981 | "comment": "", 982 | "telegram": "@ankh2054" 983 | }, { 984 | "_id": "5adf06468438a46066e14004", 985 | "bp_name": "alligator", 986 | "organisation": "eosONO", 987 | "location": "Japan, Tokyo", 988 | "node_addr": "bp-test.ono.chat", 989 | "port_http": "8888", 990 | "port_ssl": "", 991 | "port_p2p": "9876", 992 | "pub_key": "EOS8HLWem6rZQFRv8NYY3dxf6r3A5bmcazp8ydWqBrbnLcYurN435", 993 | "bp": true, 994 | "enabled": true, 995 | "comment": "", 996 | "telegram": "@yongbin" 997 | }, { 998 | "_id": "5adf0d4f8438a46066e14005", 999 | "bp_name": "ocelot", 1000 | "organisation": "sandwich.farm", 1001 | "location": "NL, Amsterdam", 1002 | "node_addr": "avocado-toast.sandwich.farm", 1003 | "port_http": "8888", 1004 | "port_ssl": "", 1005 | "port_p2p": "9876", 1006 | "pub_key": "EOS78HLh97rLHPEMknsgnYKtWAnQmbCCD9fRYAPHx3T6fS1caj36n", 1007 | "bp": true, 1008 | "enabled": true, 1009 | "comment": "", 1010 | "telegram": "@sandw1ch" 1011 | }, { 1012 | "_id": "5adf2afe8438a46066e14006", 1013 | "bp_name": "koalabear", 1014 | "organisation": "EosLove", 1015 | "location": "Singapore", 1016 | "node_addr": "18.219.28.205", 1017 | "port_http": "8886", 1018 | "port_ssl": "", 1019 | "port_p2p": "9876", 1020 | "pub_key": "EOS7kBkjG2ogTFDasfQ9VZobbpyEDrYiSW1PDhEkhUaGbJbvqoHj5", 1021 | "bp": true, 1022 | "enabled": true, 1023 | "comment": "", 1024 | "telegram": "@EosLove" 1025 | }, { 1026 | "_id": "5adf94f58438a46066e14007", 1027 | "bp_name": "axolotl", 1028 | "organisation": "EOS.Cafe", 1029 | "location": "Canada", 1030 | "node_addr": "axolotl.eoscalgary.com", 1031 | "port_http": "80", 1032 | "port_ssl": "", 1033 | "port_p2p": "9878", 1034 | "pub_key": "EOS7xu6d3GxLbw4CKhxCQeSxg8NV1wjPPrgkBTYeU94dbe7kbQddk", 1035 | "bp": false, 1036 | "enabled": true, 1037 | "comment": "", 1038 | "telegram": "@eoscalgary" 1039 | }, { 1040 | "_id": "5adfa1d78438a46066e14008", 1041 | "bp_name": "croc", 1042 | "organisation": "EOS Floripa", 1043 | "location": "USA, Oregon", 1044 | "node_addr": "34.209.174.121", 1045 | "port_http": "8888", 1046 | "port_ssl": "", 1047 | "port_p2p": "9876", 1048 | "pub_key": "EOS6LiB3hf5qA6EqrP1sTJVF7uq6Qg7DCYzpeFcHXb1pVzS5sh8rw", 1049 | "bp": true, 1050 | "enabled": false, 1051 | "comment": "", 1052 | "telegram": "@rogerioricha" 1053 | }, { 1054 | "_id": "5ae030f28438a46066e14009", 1055 | "bp_name": "duck", 1056 | "organisation": "EOSYS", 1057 | "location": "Korea, Seoul", 1058 | "node_addr": "test.eosys.io", 1059 | "port_http": "8888", 1060 | "port_ssl": "", 1061 | "port_p2p": "9874", 1062 | "pub_key": "EOS5PASRHa8rcZZ71FSwyMnqxtbhoiAvYwbe9T58WxCxU4x85rNfs", 1063 | "bp": true, 1064 | "enabled": true, 1065 | "comment": "", 1066 | "telegram": "@boseokkang" 1067 | }, { 1068 | "_id": "5ae032a78438a46066e1400a", 1069 | "bp_name": "pony", 1070 | "organisation": "www.eoshuobipool.com", 1071 | "location": "Japan", 1072 | "node_addr": "13.114.33.147", 1073 | "port_http": "8888", 1074 | "port_ssl": "", 1075 | "port_p2p": "9876", 1076 | "pub_key": "EOS8Z37zt7AxwhxbXhEDAM4uRJBhysqjnpCtmKGonoWw3hfw4c6Lw", 1077 | "bp": true, 1078 | "enabled": true, 1079 | "comment": "", 1080 | "telegram": "@Gaijinjoe" 1081 | }, { 1082 | "_id": "5ae053608438a46066e1400b", 1083 | "bp_name": "orca", 1084 | "organisation": "EOS Galaxy", 1085 | "location": "China", 1086 | "node_addr": "113.208.116.110", 1087 | "port_http": "8888", 1088 | "port_ssl": "", 1089 | "port_p2p": "9876", 1090 | "pub_key": "EOS5EmMynemBu8MuzyQKcFCM2pHgyaLfcvNi9aUzQxS2Xr1mr69cU", 1091 | "bp": true, 1092 | "enabled": true, 1093 | "comment": "", 1094 | "telegram": "Kevin Xu" 1095 | }, { 1096 | "_id": "5ae07d608438a46066e1400c", 1097 | "bp_name": "earthworm", 1098 | "organisation": "EOS Plane", 1099 | "location": "USA", 1100 | "node_addr": "35.192.58.50", 1101 | "port_http": "8888", 1102 | "port_ssl": "", 1103 | "port_p2p": "9876", 1104 | "pub_key": "EOS7CdNnZoaPtJaDdobHW1dE6AkYRkhq5mfrvBju65DwTmsdpS8Tr", 1105 | "bp": true, 1106 | "enabled": true, 1107 | "comment": "", 1108 | "telegram": "saomany" 1109 | }, { 1110 | "_id": "5ae093ee8438a46066e1400d", 1111 | "bp_name": "toad", 1112 | "organisation": "eosraychain.com", 1113 | "location": "Hong Kong", 1114 | "node_addr": "bptn.eosraychain.com", 1115 | "port_http": "80", 1116 | "port_ssl": "", 1117 | "port_p2p": "9888", 1118 | "pub_key": "EOS6hYcUS9sXuzpeSFLexasPjpp9b56EKDFHSV1F3WWA5ko7gvKSM", 1119 | "bp": true, 1120 | "enabled": true, 1121 | "comment": "", 1122 | "telegram": "Eos Raychain" 1123 | }, { 1124 | "_id": "5ae09a198438a46066e1400e", 1125 | "bp_name": "shark", 1126 | "organisation": "EOSNz", 1127 | "location": "Newzealand", 1128 | "node_addr": "13.211.63.122", 1129 | "port_http": "8888", 1130 | "port_ssl": "", 1131 | "port_p2p": "9876", 1132 | "pub_key": "EOS84sx3uUzZ4pzHznt3A1dLLewtr6dvu7nMTZbBCLmVxCvSba1Jo", 1133 | "bp": true, 1134 | "enabled": true, 1135 | "comment": "", 1136 | "telegram": "@KrisEOSnz" 1137 | }, { 1138 | "_id": "5ae139b98438a46066e1400f", 1139 | "bp_name": "puffin", 1140 | "organisation": "eosvan.com", 1141 | "location": "Canada, Vancouver", 1142 | "node_addr": "54.189.199.39", 1143 | "port_http": "8888", 1144 | "port_ssl": "", 1145 | "port_p2p": "9876", 1146 | "pub_key": "EOS7VURE7AErUDi8Pfb1fULiPNxGnqmkikhS4JhByj7LSzHBNWchq", 1147 | "bp": true, 1148 | "enabled": true, 1149 | "comment": "", 1150 | "telegram": "Chen (EOSVan)" 1151 | }, { 1152 | "_id": "5ae19f318438a46066e14010", 1153 | "bp_name": "fatmouse", 1154 | "organisation": "EOS HDTap", 1155 | "location": "China", 1156 | "node_addr": "eos.shangtv.cn", 1157 | "port_http": "28888", 1158 | "port_ssl": "", 1159 | "port_p2p": "29876", 1160 | "pub_key": "EOS7xMRvmUxk819FTdL5pdP9ytar9XaZ7JLzwvQnj3siHWA6nJA56", 1161 | "bp": true, 1162 | "enabled": true, 1163 | "comment": "", 1164 | "telegram": "@Yonsen" 1165 | }, { 1166 | "_id": "5ae1c2488438a46066e14011", 1167 | "bp_name": "dogo", 1168 | "organisation": "eosargentina.io", 1169 | "location": "USA, Miami", 1170 | "node_addr": "n2.eosargentina.io", 1171 | "port_http": "8888", 1172 | "port_ssl": "", 1173 | "port_p2p": "9876", 1174 | "pub_key": "EOS6NaEcWX3DSTf8jrjb5UNeZikL7RY4tJ8t4w4bC8Z2HbTveRLGb", 1175 | "bp": true, 1176 | "enabled": true, 1177 | "comment": "", 1178 | "telegram": "@JChitty" 1179 | }] 1180 | } 1181 | -------------------------------------------------------------------------------- /out.log: -------------------------------------------------------------------------------- 1 | Node list loaded from "nodes.json" 2 | jungle.cryptolions.io:8888 3 | dev.cryptolions.io:8888 4 | 193.93.219.219:8888 5 | jungle.eosnewyork.io:8888 6 | ctestnet.edenx.io:8062 7 | mowgli.jungle3.eos.roelandp.nl:8765 8 | 93.176.188.7:8888 9 | 18.188.52.250:8877 10 | mosquito.prometeos.io:8889 11 | pearls.capital:8888 12 | eosrio.entropia.in:8889 13 | 54.233.222.22:8886 14 | Jungle.eosuk.io:8427 15 | 35.189.107.125:8888 16 | 188.166.226.110:8888 17 | eosgreen.uk.to:8777 18 | bpseoul.eosnodeone.io:8888 19 | whale.eoscalgary.com:80 20 | bp4-d3.eos42.io:8888 21 | 145.239.252.91:8888 22 | 95.216.20.181:7010 23 | mpenjati.eosio.africa:8888 24 | testnet01.eoseoul.io:8801 25 | 46.101.95.5:8888 26 | 154.48.249.19:8888 27 | alessia.hkeos.com:8888 28 | cheetah.jungle3.bptn.eosamsterdam.net:8888 29 | robotikalis.ddns.net:8888 30 | testnet.eosindia.io:8888 31 | 195.201.131.218:8888 32 | 138.68.238.129:8890 33 | 211.159.182.240:8888 34 | jungle.genereos.io:8888 35 | 54.200.153.106:8888 36 | 39.108.231.157:8888 37 | 139.198.3.99:8888 38 | jungle.eoseco.net:8888 39 | 193.93.219.219:6888 40 | jungle.eosphere.io:8888 41 | 185.244.150.11:8888 42 | 52.44.113.122:80 43 | testchain.jscut.org:8888 44 | 120.79.155.118:8888 45 | testnet.eosdublin.io:8444 46 | eosslc.com:8889 47 | jungle.worbli.io:8888 48 | 47.92.97.56:8888 49 | bp-test.eosasia.one:8800 50 | 47.52.18.70:8388 51 | jungle.eos.blckchnd.com:8888 52 | 128.1.133.206:8888 53 | 47.52.64.9:8888 54 | 52.37.122.21:8888 55 | eosbeijing.one:8888 56 | 35.182.46.236:9879 57 | 52.58.245.131:8888 58 | 198.58.114.211:8888 59 | 217.115.85.26:8888 60 | 107.150.102.38:8888 61 | 188.117.144.164:8889 62 | quokka.eosreal.io:8868 63 | 119.3.22.124:8888 64 | node-d3.eos42.io:8888 65 | 5280.duckdns.org:8888 66 | meow.eoslaomao.com:80 67 | dev.chainpool.io:7780 68 | eos-bp.bitfinex.com:8888 69 | 34.251.121.82:8888 70 | 173.212.227.190:8888 71 | node2-d3.eos42.io:8888 72 | bp-test.ono.chat:8888 73 | avocado-toast.sandwich.farm:8888 74 | 18.219.28.205:8886 75 | axolotl.eoscalgary.com:80 76 | 34.209.174.121:8888 77 | test.eosys.io:8888 78 | 13.114.33.147:8888 79 | 113.208.116.110:8888 80 | 35.192.58.50:8888 81 | bptn.eosraychain.com:80 82 | 13.211.63.122:8888 83 | 54.189.199.39:8888 84 | eos.shangtv.cn:28888 85 | n2.eosargentina.io:8888 86 | Firing requests from: 201.18.14.130 87 | 1 / 84 88 | Fetching data from http://jungle.cryptolions.io:8888/v1/chain/get_info 89 | Target: 94.154.212.15 | Latency: 750.378 ms 90 | 2 / 84 91 | Fetching data from http://dev.cryptolions.io:8888/v1/chain/get_info 92 | Target: 88.99.97.30 | Latency: 457.017 ms 93 | 3 / 84 94 | Fetching data from http://193.93.219.219:8888/v1/chain/get_info 95 | Target: 193.93.219.219 | Latency: 539.789 ms 96 | 4 / 84 97 | Fetching data from http://jungle.eosnewyork.io:8888/v1/chain/get_info 98 | Target: 35.182.242.240 | Latency: 285.794 ms 99 | 5 / 84 100 | Fetching data from http://ctestnet.edenx.io:8062/v1/chain/get_info 101 | Target: 79.136.20.192 | Latency: 450.487 ms 102 | 6 / 84 103 | Fetching data from http://mowgli.jungle3.eos.roelandp.nl:8765/v1/chain/get_info 104 | Target: 95.216.8.243 | Latency: 504.885 ms 105 | 7 / 84 106 | Fetching data from http://93.176.188.7:8888/v1/chain/get_info 107 | Server is down 108 | 8 / 84 109 | Fetching data from http://18.188.52.250:8877/v1/chain/get_info 110 | Target: 18.188.52.250 | Latency: 263.799 ms 111 | 9 / 84 112 | Fetching data from http://mosquito.prometeos.io:8889/v1/chain/get_info 113 | Target: 149.202.180.100 | Latency: 679.657 ms 114 | 10 / 84 115 | Fetching data from http://pearls.capital:8888/v1/chain/get_info 116 | Target: 95.213.195.96 | Latency: 493.055 ms 117 | 11 / 84 118 | Fetching data from http://eosrio.entropia.in:8889/v1/chain/get_info 119 | Target: 201.18.14.130 | Latency: 295.181 ms 120 | 12 / 84 121 | Fetching data from http://54.233.222.22:8886/v1/chain/get_info 122 | Target: 54.233.222.22 | Latency: 34.958 ms 123 | 13 / 84 124 | Fetching data from http://Jungle.eosuk.io:8427/v1/chain/get_info 125 | Target: 81.110.247.37 | Latency: 555.045 ms 126 | 14 / 84 127 | Fetching data from http://35.189.107.125:8888/v1/chain/get_info 128 | Target: 35.189.107.125 | Latency: 422.231 ms 129 | 15 / 84 130 | Fetching data from http://188.166.226.110:8888/v1/chain/get_info 131 | Target: 188.166.226.110 | Latency: 713.009 ms 132 | 16 / 84 133 | Fetching data from http://eosgreen.uk.to:8777/v1/chain/get_info 134 | Target: 86.181.185.47 | Latency: 651.593 ms 135 | 17 / 84 136 | Fetching data from http://bpseoul.eosnodeone.io:8888/v1/chain/get_info 137 | Target: 13.209.19.204 | Latency: 644.759 ms 138 | 18 / 84 139 | Fetching data from http://whale.eoscalgary.com:80/v1/chain/get_info 140 | Server is down 141 | 19 / 84 142 | Fetching data from http://bp4-d3.eos42.io:8888/v1/chain/get_info 143 | Target: 35.197.244.244 | Latency: 570.042 ms 144 | 20 / 84 145 | Fetching data from http://145.239.252.91:8888/v1/chain/get_info 146 | Server is down 147 | 21 / 84 148 | Fetching data from http://95.216.20.181:7010/v1/chain/get_info 149 | Target: 95.216.20.181 | Latency: 433.686 ms 150 | 22 / 84 151 | Fetching data from http://mpenjati.eosio.africa:8888/v1/chain/get_info 152 | Server is down 153 | 23 / 84 154 | Fetching data from http://testnet01.eoseoul.io:8801/v1/chain/get_info 155 | Target: 13.124.97.2 | Latency: 660.755 ms 156 | 24 / 84 157 | Fetching data from http://46.101.95.5:8888/v1/chain/get_info 158 | Target: 46.101.95.5 | Latency: 365.517 ms 159 | 25 / 84 160 | Fetching data from http://154.48.249.19:8888/v1/chain/get_info 161 | Server is down 162 | 26 / 84 163 | Fetching data from http://alessia.hkeos.com:8888/v1/chain/get_info 164 | Target: 218.253.69.190 | Latency: 868.657 ms 165 | 27 / 84 166 | Fetching data from http://cheetah.jungle3.bptn.eosamsterdam.net:8888/v1/chain/get_info 167 | Server is down 168 | 28 / 84 169 | Fetching data from http://robotikalis.ddns.net:8888/v1/chain/get_info 170 | Target: 173.212.219.222 | Latency: 589.594 ms 171 | 29 / 84 172 | Fetching data from http://testnet.eosindia.io:8888/v1/chain/get_info 173 | Target: 13.126.171.157 | Latency: 758.087 ms 174 | 30 / 84 175 | Fetching data from http://195.201.131.218:8888/v1/chain/get_info 176 | Target: 195.201.131.218 | Latency: 395.307 ms 177 | 31 / 84 178 | Fetching data from http://138.68.238.129:8890/v1/chain/get_info 179 | Target: 138.68.238.129 | Latency: 394.086 ms 180 | 32 / 84 181 | Fetching data from http://211.159.182.240:8888/v1/chain/get_info 182 | Server is down 183 | 33 / 84 184 | Fetching data from http://jungle.genereos.io:8888/v1/chain/get_info 185 | Server is down 186 | 34 / 84 187 | Fetching data from http://54.200.153.106:8888/v1/chain/get_info 188 | Target: 54.200.153.106 | Latency: 500.464 ms 189 | 35 / 84 190 | Fetching data from http://39.108.231.157:8888/v1/chain/get_info 191 | Server is down 192 | 36 / 84 193 | Fetching data from http://139.198.3.99:8888/v1/chain/get_info 194 | Target: 139.198.3.99 | Latency: 656.376 ms 195 | 37 / 84 196 | Fetching data from http://jungle.eoseco.net:8888/v1/chain/get_info 197 | Target: 52.199.160.95 | Latency: 1077.599 ms 198 | 38 / 84 199 | Fetching data from http://193.93.219.219:6888/v1/chain/get_info 200 | Server is down 201 | 39 / 84 202 | Fetching data from http://jungle.eosphere.io:8888/v1/chain/get_info 203 | Target: 52.62.218.130 | Latency: 732.006 ms 204 | 40 / 84 205 | Fetching data from http://185.244.150.11:8888/v1/chain/get_info 206 | Target: 185.244.150.11 | Latency: 417.842 ms 207 | 41 / 84 208 | Fetching data from http://52.44.113.122:80/v1/chain/get_info 209 | Target: 52.44.113.122 | Latency: 276.924 ms 210 | 42 / 84 211 | Fetching data from http://testchain.jscut.org:8888/v1/chain/get_info 212 | Target: 35.174.47.102 | Latency: 310.43 ms 213 | 43 / 84 214 | Fetching data from http://120.79.155.118:8888/v1/chain/get_info 215 | Target: 120.79.155.118 | Latency: 662.845 ms 216 | 44 / 84 217 | Fetching data from http://testnet.eosdublin.io:8444/v1/chain/get_info 218 | Server is down 219 | 45 / 84 220 | Fetching data from http://eosslc.com:8889/v1/chain/get_info 221 | Target: 209.41.67.115 | Latency: 492.053 ms 222 | 46 / 84 223 | Fetching data from http://jungle.worbli.io:8888/v1/chain/get_info 224 | Target: 18.219.212.80 | Latency: 320.463 ms 225 | 47 / 84 226 | Fetching data from http://47.92.97.56:8888/v1/chain/get_info 227 | Server is down 228 | 48 / 84 229 | Fetching data from http://bp-test.eosasia.one:8800/v1/chain/get_info 230 | Target: 13.125.42.74 | Latency: 643.917 ms 231 | 49 / 84 232 | Fetching data from http://47.52.18.70:8388/v1/chain/get_info 233 | Target: 47.52.18.70 | Latency: 663.07 ms 234 | 50 / 84 235 | Fetching data from http://jungle.eos.blckchnd.com:8888/v1/chain/get_info 236 | Target: 94.130.89.239 | Latency: 450.594 ms 237 | 51 / 84 238 | Fetching data from http://128.1.133.206:8888/v1/chain/get_info 239 | Target: 128.1.133.206 | Latency: 680.128 ms 240 | 52 / 84 241 | Fetching data from http://47.52.64.9:8888/v1/chain/get_info 242 | Target: 47.52.64.9 | Latency: 691.461 ms 243 | 53 / 84 244 | Fetching data from http://52.37.122.21:8888/v1/chain/get_info 245 | Target: 52.37.122.21 | Latency: 439.274 ms 246 | 54 / 84 247 | Fetching data from http://eosbeijing.one:8888/v1/chain/get_info 248 | Target: 150.109.65.114 | Latency: 905.437 ms 249 | 55 / 84 250 | Fetching data from http://35.182.46.236:9879/v1/chain/get_info 251 | Target: 35.182.46.236 | Latency: 248.189 ms 252 | 56 / 84 253 | Fetching data from http://52.58.245.131:8888/v1/chain/get_info 254 | Target: 52.58.245.131 | Latency: 393.879 ms 255 | 57 / 84 256 | Fetching data from http://198.58.114.211:8888/v1/chain/get_info 257 | Target: 198.58.114.211 | Latency: 319.047 ms 258 | 58 / 84 259 | Fetching data from http://217.115.85.26:8888/v1/chain/get_info 260 | Target: 217.115.85.26 | Latency: 578.391 ms 261 | 59 / 84 262 | Fetching data from http://107.150.102.38:8888/v1/chain/get_info 263 | Target: 107.150.102.38 | Latency: 379.302 ms 264 | 60 / 84 265 | Fetching data from http://188.117.144.164:8889/v1/chain/get_info 266 | Target: 188.117.144.164 | Latency: 459.22 ms 267 | 61 / 84 268 | Fetching data from http://quokka.eosreal.io:8868/v1/chain/get_info 269 | Target: 13.126.19.74 | Latency: 888.557 ms 270 | 62 / 84 271 | Fetching data from http://119.3.22.124:8888/v1/chain/get_info 272 | Target: 119.3.22.124 | Latency: 698.667 ms 273 | 63 / 84 274 | Fetching data from http://node-d3.eos42.io:8888/v1/chain/get_info 275 | Target: 35.189.101.183 | Latency: 700.55 ms 276 | 64 / 84 277 | Fetching data from http://5280.duckdns.org:8888/v1/chain/get_info 278 | Target: 71.211.246.214 | Latency: 636.737 ms 279 | 65 / 84 280 | Fetching data from http://meow.eoslaomao.com:80/v1/chain/get_info 281 | Target: 172.105.236.65 | Latency: 763.047 ms 282 | 66 / 84 283 | Fetching data from http://dev.chainpool.io:7780/v1/chain/get_info 284 | Server is down 285 | 67 / 84 286 | Fetching data from http://eos-bp.bitfinex.com:8888/v1/chain/get_info 287 | Target: 35.204.3.223 | Latency: 761.083 ms 288 | 68 / 84 289 | Fetching data from http://34.251.121.82:8888/v1/chain/get_info 290 | Target: 34.251.121.82 | Latency: 450.099 ms 291 | 69 / 84 292 | Fetching data from http://173.212.227.190:8888/v1/chain/get_info 293 | Target: 173.212.227.190 | Latency: 566.734 ms 294 | 70 / 84 295 | Fetching data from http://node2-d3.eos42.io:8888/v1/chain/get_info 296 | Target: 35.197.203.157 | Latency: 580.166 ms 297 | 71 / 84 298 | Fetching data from http://bp-test.ono.chat:8888/v1/chain/get_info 299 | Target: 13.115.235.41 | Latency: 784.192 ms 300 | 72 / 84 301 | Fetching data from http://avocado-toast.sandwich.farm:8888/v1/chain/get_info 302 | Target: 188.166.116.31 | Latency: 577.961 ms 303 | 73 / 84 304 | Fetching data from http://18.219.28.205:8886/v1/chain/get_info 305 | Target: 18.219.28.205 | Latency: 375.927 ms 306 | 74 / 84 307 | Fetching data from http://axolotl.eoscalgary.com:80/v1/chain/get_info 308 | Target: 35.185.242.132 | Latency: 519.835 ms 309 | 75 / 84 310 | Fetching data from http://34.209.174.121:8888/v1/chain/get_info 311 | Server is down 312 | 76 / 84 313 | Fetching data from http://test.eosys.io:8888/v1/chain/get_info 314 | Target: 13.125.137.48 | Latency: 694.159 ms 315 | 77 / 84 316 | Fetching data from http://13.114.33.147:8888/v1/chain/get_info 317 | Target: 13.114.33.147 | Latency: 598.898 ms 318 | 78 / 84 319 | Fetching data from http://113.208.116.110:8888/v1/chain/get_info 320 | Server is down 321 | 79 / 84 322 | Fetching data from http://35.192.58.50:8888/v1/chain/get_info 323 | Server is down 324 | 80 / 84 325 | Fetching data from http://bptn.eosraychain.com:80/v1/chain/get_info 326 | Target: 47.90.87.131 | Latency: 1184.901 ms 327 | 81 / 84 328 | Fetching data from http://13.211.63.122:8888/v1/chain/get_info 329 | Target: 13.211.63.122 | Latency: 762.153 ms 330 | 82 / 84 331 | Fetching data from http://54.189.199.39:8888/v1/chain/get_info 332 | Target: 54.189.199.39 | Latency: 437.958 ms 333 | 83 / 84 334 | Fetching data from http://eos.shangtv.cn:28888/v1/chain/get_info 335 | Target: 120.76.96.73 | Latency: 744.708 ms 336 | 84 / 84 337 | Fetching data from http://n2.eosargentina.io:8888/v1/chain/get_info 338 | Target: 207.246.67.103 | Latency: 434.506 ms 339 | 1 / 84 340 | Fetching data from http://94.154.212.15:8888/v1/chain/get_info 341 | Target: 94.154.212.15 | Latency: 492.851 ms 342 | 2 / 84 343 | Fetching data from http://88.99.97.30:8888/v1/chain/get_info 344 | Target: 88.99.97.30 | Latency: 403.637 ms 345 | 3 / 84 346 | Fetching data from http://193.93.219.219:8888/v1/chain/get_info 347 | Target: 193.93.219.219 | Latency: 474.956 ms 348 | 4 / 84 349 | Fetching data from http://35.182.242.240:8888/v1/chain/get_info 350 | Target: 35.182.242.240 | Latency: 242.14 ms 351 | 5 / 84 352 | Fetching data from http://79.136.20.192:8062/v1/chain/get_info 353 | Target: 79.136.20.192 | Latency: 476.156 ms 354 | 6 / 84 355 | Fetching data from http://95.216.8.243:8765/v1/chain/get_info 356 | Target: 95.216.8.243 | Latency: 453.659 ms 357 | 7 / 84 358 | Fetching data from http://93.176.188.7:8888/v1/chain/get_info 359 | Server is down 360 | 8 / 84 361 | Fetching data from http://18.188.52.250:8877/v1/chain/get_info 362 | Target: 18.188.52.250 | Latency: 283.511 ms 363 | 9 / 84 364 | Fetching data from http://149.202.180.100:8889/v1/chain/get_info 365 | Target: 149.202.180.100 | Latency: 1031.591 ms 366 | 10 / 84 367 | Fetching data from http://95.213.195.96:8888/v1/chain/get_info 368 | Target: 95.213.195.96 | Latency: 497.704 ms 369 | 11 / 84 370 | Fetching data from http://201.18.14.130:8889/v1/chain/get_info 371 | Target: 201.18.14.130 | Latency: 8.85 ms 372 | 12 / 84 373 | Fetching data from http://54.233.222.22:8886/v1/chain/get_info 374 | Target: 54.233.222.22 | Latency: 33.293 ms 375 | 13 / 84 376 | Fetching data from http://81.110.247.37:8427/v1/chain/get_info 377 | Server is down 378 | 14 / 84 379 | Fetching data from http://35.189.107.125:8888/v1/chain/get_info 380 | Target: 35.189.107.125 | Latency: 428.786 ms 381 | 15 / 84 382 | Fetching data from http://188.166.226.110:8888/v1/chain/get_info 383 | Target: 188.166.226.110 | Latency: 725.16 ms 384 | 16 / 84 385 | Fetching data from http://86.181.185.47:8777/v1/chain/get_info 386 | Target: 86.181.185.47 | Latency: 416.835 ms 387 | 17 / 84 388 | Fetching data from http://13.209.19.204:8888/v1/chain/get_info 389 | Target: 13.209.19.204 | Latency: 628.827 ms 390 | 18 / 84 391 | Fetching data from http://35.185.242.132:80/v1/chain/get_info 392 | Server is down 393 | 19 / 84 394 | Fetching data from http://35.197.244.244:8888/v1/chain/get_info 395 | Target: 35.197.244.244 | Latency: 425.556 ms 396 | 20 / 84 397 | Fetching data from http://145.239.252.91:8888/v1/chain/get_info 398 | Server is down 399 | 21 / 84 400 | Fetching data from http://95.216.20.181:7010/v1/chain/get_info 401 | Target: 95.216.20.181 | Latency: 434.635 ms 402 | 22 / 84 403 | Fetching data from http://mpenjati.eosio.africa:8888/v1/chain/get_info 404 | Server is down 405 | 23 / 84 406 | Fetching data from http://13.124.97.2:8801/v1/chain/get_info 407 | Target: 13.124.97.2 | Latency: 648.155 ms 408 | 24 / 84 409 | Fetching data from http://46.101.95.5:8888/v1/chain/get_info 410 | Target: 46.101.95.5 | Latency: 388.549 ms 411 | 25 / 84 412 | Fetching data from http://154.48.249.19:8888/v1/chain/get_info 413 | Server is down 414 | 26 / 84 415 | Fetching data from http://218.253.69.190:8888/v1/chain/get_info 416 | Target: 218.253.69.190 | Latency: 688.559 ms 417 | 27 / 84 418 | Fetching data from http://cheetah.jungle3.bptn.eosamsterdam.net:8888/v1/chain/get_info 419 | Server is down 420 | 28 / 84 421 | Fetching data from http://173.212.219.222:8888/v1/chain/get_info 422 | Target: 173.212.219.222 | Latency: 425.943 ms 423 | 29 / 84 424 | Fetching data from http://13.126.171.157:8888/v1/chain/get_info 425 | Server is down 426 | 30 / 84 427 | Fetching data from http://195.201.131.218:8888/v1/chain/get_info 428 | Target: 195.201.131.218 | Latency: 454.823 ms 429 | 31 / 84 430 | -------------------------------------------------------------------------------- /release/eosbeat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosrio/eosbeat/be21d595ee3a14c4d2f60dd026c3e9cc7692fa11/release/eosbeat -------------------------------------------------------------------------------- /release/eosbeat.conf.yml: -------------------------------------------------------------------------------- 1 | eosbeat: 2 | period: 5s 3 | output.elasticsearch: 4 | hosts: ["eosrio.io:9200"] 5 | protocol: "http" 6 | username: "changeME" 7 | password: "changeME" 8 | -------------------------------------------------------------------------------- /release/nodes.json: -------------------------------------------------------------------------------- 1 | { 2 | "network": "jungle", 3 | "blockProducerList": [{ 4 | "_id": "5acb5633b63b04532f14b351", 5 | "bp_name": "volcano", 6 | "organisation": "CryptoLions.io", 7 | "location": "Ukraine, Kyiv", 8 | "node_addr": "jungle.cryptolions.io", 9 | "port_http": "8888", 10 | "port_ssl": "", 11 | "port_p2p": "9876", 12 | "pub_key": "EOS7cXZfX7Rjt4WqARdE3MP7QUkgSyzagedq3WncpDb9W6zxvdTmx", 13 | "bp": true, 14 | "enabled": true, 15 | "comment": "", 16 | "telegram": "" 17 | }, { 18 | "_id": "5acb5633b63b04532f14b352", 19 | "bp_name": "lion", 20 | "organisation": "CryptoLions.io", 21 | "location": "Germany", 22 | "node_addr": "dev.cryptolions.io", 23 | "port_http": "8888", 24 | "port_ssl": "", 25 | "port_p2p": "7876", 26 | "pub_key": "EOS4uD43rw6sB46AKWkU5rtXZnnRJeYhAtpwvHszJ8QD3Eqbgg7TE", 27 | "bp": true, 28 | "enabled": true, 29 | "comment": "", 30 | "telegram": "" 31 | }, { 32 | "_id": "5acb5633b63b04532f14b353", 33 | "bp_name": "tiger", 34 | "organisation": "CryptoLions.io", 35 | "location": "Ukraine, Lviv", 36 | "node_addr": "193.93.219.219", 37 | "port_http": "8888", 38 | "port_ssl": "", 39 | "port_p2p": "9876", 40 | "pub_key": "EOS5LdoGyZyWKEnske2RXBfqFpqEnaoLJzmpJgryQrvUYWKRiAN5V", 41 | "bp": true, 42 | "enabled": true, 43 | "comment": "", 44 | "telegram": "" 45 | }, { 46 | "_id": "5acb5633b63b04532f14b354", 47 | "bp_name": "jaguar", 48 | "organisation": "EOS New York", 49 | "location": "Central Canada", 50 | "node_addr": "jungle.eosnewyork.io", 51 | "port_http": "8888", 52 | "port_ssl": "", 53 | "port_p2p": "9876", 54 | "pub_key": "EOS7btfRjDZGTLMcZR8cveHW2kURM8j8fK3VpyUm5muRFvCMhQpRv", 55 | "bp": true, 56 | "enabled": true, 57 | "comment": "", 58 | "telegram": "" 59 | }, { 60 | "_id": "5acb5633b63b04532f14b355", 61 | "bp_name": "bat", 62 | "organisation": "EOSio.se", 63 | "location": "Sweeden", 64 | "node_addr": "ctestnet.edenx.io", 65 | "port_http": "8062", 66 | "port_ssl": "", 67 | "port_p2p": "6602", 68 | "pub_key": "EOS5Fji6x8dgSPHzpi7NpYxQT8V1gxC7cEjKnan2CivHBikS4etyC", 69 | "bp": true, 70 | "enabled": true, 71 | "comment": "", 72 | "telegram": "" 73 | }, { 74 | "_id": "5acb5633b63b04532f14b356", 75 | "bp_name": "mowgli", 76 | "organisation": "roelandp.nl/eos", 77 | "location": "Germany", 78 | "node_addr": "mowgli.jungle3.eos.roelandp.nl", 79 | "port_http": "8765", 80 | "port_ssl": "", 81 | "port_p2p": "9876", 82 | "pub_key": "EOS7mwDoXcrtFzxXA2jmuVHd6LbnZ9tYBZFguSUmtqC5QVenYpE2m", 83 | "bp": true, 84 | "enabled": true, 85 | "comment": "", 86 | "telegram": "" 87 | }, { 88 | "_id": "5acb5633b63b04532f14b357", 89 | "bp_name": "dragonfly", 90 | "organisation": "EOSbcn", 91 | "location": "Barcelona", 92 | "node_addr": "93.176.188.7", 93 | "port_http": "8888", 94 | "port_ssl": "", 95 | "port_p2p": "9876", 96 | "pub_key": "EOS8g1MUTibV9KMD4hHRiA5pygcnVKScjVqB2EYjzz5Ypu5WuagX3", 97 | "bp": false, 98 | "enabled": false, 99 | "comment": "", 100 | "telegram": "" 101 | }, { 102 | "_id": "5acb5633b63b04532f14b358", 103 | "bp_name": "elephant2", 104 | "organisation": "Blockpro.one", 105 | "location": "USA", 106 | "node_addr": "18.188.52.250", 107 | "port_http": "8877", 108 | "port_ssl": "", 109 | "port_p2p": "9876", 110 | "pub_key": "EOS6B1NvFPAUobAJJ12QtLtbeYpSE6mJsotphbqH4n8dMi6jgX9D4", 111 | "bp": true, 112 | "enabled": true, 113 | "comment": "", 114 | "telegram": "" 115 | }, { 116 | "_id": "5acb5633b63b04532f14b359", 117 | "bp_name": "mosquito", 118 | "organisation": "IberEOS", 119 | "location": "Spain", 120 | "node_addr": "mosquito.prometeos.io", 121 | "port_http": "8889", 122 | "port_ssl": "", 123 | "port_p2p": "9877", 124 | "pub_key": "EOS6NDwXffptVFfEENu1iq3aYPpEGFKusoZUkfvr1rcfipdp67HuS", 125 | "bp": true, 126 | "enabled": true, 127 | "comment": "", 128 | "telegram": "" 129 | }, { 130 | "_id": "5acb5633b63b04532f14b35a", 131 | "bp_name": "wombat", 132 | "organisation": "pearls.capital", 133 | "location": "Russia, Moscow", 134 | "node_addr": "pearls.capital", 135 | "port_http": "8888", 136 | "port_ssl": "", 137 | "port_p2p": "9876", 138 | "pub_key": "EOS8bGyjUEAksVm7QY7YBsoHgwzZpxYQAZ6ZxunxxMeUm4KDpUkzi", 139 | "bp": true, 140 | "enabled": true, 141 | "comment": "", 142 | "telegram": "" 143 | }, { 144 | "_id": "5acb5633b63b04532f14b35b", 145 | "bp_name": "fox", 146 | "organisation": "EOS Rio", 147 | "location": "Brazil, Rio de Janeiro", 148 | "node_addr": "eosrio.entropia.in", 149 | "port_http": "8889", 150 | "port_ssl": "", 151 | "port_p2p": "9876", 152 | "pub_key": "EOS88KfcP3uMHg3BJ6skz3ja7S7nYc54Ki4k5nUzySgXuMXqEQAfd", 153 | "bp": true, 154 | "enabled": true, 155 | "comment": "", 156 | "telegram": "" 157 | }, { 158 | "_id": "5acb5633b63b04532f14b35c", 159 | "bp_name": "fox_node", 160 | "organisation": "EOS Rio", 161 | "location": "Brazil, Rio de Janeiro", 162 | "node_addr": "54.233.222.22", 163 | "port_http": "8886", 164 | "port_ssl": "", 165 | "port_p2p": "9874", 166 | "pub_key": "EOS88KfcP3uMHg3BJ6skz3ja7S7nYc54Ki4k5nUzySgXuMXqEQAfd", 167 | "bp": false, 168 | "enabled": true, 169 | "comment": "", 170 | "telegram": "" 171 | }, { 172 | "_id": "5acb5633b63b04532f14b35d", 173 | "bp_name": "gorilla", 174 | "organisation": "EOS UK", 175 | "location": "UK", 176 | "node_addr": "Jungle.eosuk.io", 177 | "port_http": "8427", 178 | "port_ssl": "", 179 | "port_p2p": "9927", 180 | "pub_key": "EOS8MoH5xdnrsvNo2bd2So7QZXZx6Uyvuq8yMBikfUVhFmNoqCnLH", 181 | "bp": true, 182 | "enabled": true, 183 | "comment": "", 184 | "telegram": "@EOS_Nottingham @DanBroad" 185 | }, { 186 | "_id": "5acb5633b63b04532f14b35e", 187 | "bp_name": "honeybadger", 188 | "organisation": "EOS42", 189 | "location": "Uk, London", 190 | "node_addr": "35.189.107.125", 191 | "port_http": "8888", 192 | "port_ssl": "", 193 | "port_p2p": "9876", 194 | "pub_key": "EOS72X4XCPT7tfRXATi9DdatFS1jwTeQZDksbiiDG3SKTvj3FxxXx", 195 | "bp": true, 196 | "enabled": true, 197 | "comment": "", 198 | "telegram": "" 199 | }, { 200 | "_id": "5acb5633b63b04532f14b35f", 201 | "bp_name": "sloth", 202 | "organisation": "EOS Botetourt", 203 | "location": "Singapore", 204 | "node_addr": "188.166.226.110", 205 | "port_http": "8888", 206 | "port_ssl": "", 207 | "port_p2p": "9876", 208 | "pub_key": "EOS6jW8JkdRjrjgXdF8Fm2ZVnys6rCJ4fqSCPk9QgEpS9Vksse3rc", 209 | "bp": true, 210 | "enabled": true, 211 | "comment": "", 212 | "telegram": "" 213 | }, { 214 | "_id": "5acb5633b63b04532f14b360", 215 | "bp_name": "langurs", 216 | "organisation": "EOSgreen.io", 217 | "location": "UK", 218 | "node_addr": "eosgreen.uk.to", 219 | "port_http": "8777", 220 | "port_ssl": "", 221 | "port_p2p": "9543", 222 | "pub_key": "EOS8f36VS4PFLhr4xnRMDSvnLjwpkNv4n9NZLf4cF1ZpbTjRsUC3Z", 223 | "bp": true, 224 | "enabled": true, 225 | "comment": "", 226 | "telegram": "" 227 | }, { 228 | "_id": "5acb5633b63b04532f14b361", 229 | "bp_name": "tokki", 230 | "organisation": "www.eosnodeone.io", 231 | "location": "Seoul", 232 | "node_addr": "bpseoul.eosnodeone.io", 233 | "port_http": "8888", 234 | "port_ssl": "", 235 | "port_p2p": "9876", 236 | "pub_key": "EOS7h6Cz39hUym1vQkofXn51Ctdz4mryZaydRs2ph4Z8BuzmX7vwV", 237 | "bp": true, 238 | "enabled": true, 239 | "comment": "", 240 | "telegram": "" 241 | }, { 242 | "_id": "5acb5633b63b04532f14b362", 243 | "bp_name": "whale", 244 | "organisation": "EOS.Cafe", 245 | "location": "Canada", 246 | "node_addr": "whale.eoscalgary.com", 247 | "port_http": "80", 248 | "port_ssl": "", 249 | "port_p2p": "9876", 250 | "pub_key": "EOS8Y754s6fgT2rhAidn7N9zXJUXCw6o8iv3Xyy7kdgaDNLoqxJhu", 251 | "bp": true, 252 | "enabled": true, 253 | "comment": "", 254 | "telegram": "" 255 | }, { 256 | "_id": "5acb5633b63b04532f14b363", 257 | "bp_name": "panther", 258 | "organisation": "EOS42.io", 259 | "location": "London", 260 | "node_addr": "bp4-d3.eos42.io", 261 | "port_http": "8888", 262 | "port_ssl": "", 263 | "port_p2p": "9876", 264 | "pub_key": "EOS7zhtk8CjvuuT33Uyn6oXHMKqcifiMuSomqT6BmL5ptNBrmTubo", 265 | "bp": true, 266 | "enabled": true, 267 | "comment": "", 268 | "telegram": "" 269 | }, { 270 | "_id": "5acb5633b63b04532f14b364", 271 | "bp_name": "tortoise", 272 | "organisation": "EOSdac.io", 273 | "location": "UK", 274 | "node_addr": "145.239.252.91", 275 | "port_http": "8888", 276 | "port_ssl": "", 277 | "port_p2p": "9877", 278 | "pub_key": "EOS8Eb76Wf2DcGZ58c8i5MZeEZvECz8dyGmR6LZRboeHue59k6a2B", 279 | "bp": true, 280 | "enabled": true, 281 | "comment": "", 282 | "telegram": "" 283 | }, { 284 | "_id": "5acb5633b63b04532f14b365", 285 | "bp_name": "galapago", 286 | "organisation": "bitcoineos.fun", 287 | "location": "Germany", 288 | "node_addr": "95.216.20.181", 289 | "port_http": "7010", 290 | "port_ssl": "", 291 | "port_p2p": "7015", 292 | "pub_key": "EOS7eLwiaN1tqqNLKE3wgfV3MWPPCsxY5PFVpFpvj8jpqVKTkqouH", 293 | "bp": true, 294 | "enabled": true, 295 | "comment": "", 296 | "telegram": "" 297 | }, { 298 | "_id": "5acb5633b63b04532f14b366", 299 | "bp_name": "mpenjati", 300 | "organisation": "EOS.IO Africa", 301 | "location": "Africa", 302 | "node_addr": "mpenjati.eosio.africa", 303 | "port_http": "8888", 304 | "port_ssl": "", 305 | "port_p2p": "9876", 306 | "pub_key": "EOS67Znu8W4sBH4RzYAPy3MekGsbwNK7pJhreQoZh58RU9sDGPYzm", 307 | "bp": true, 308 | "enabled": true, 309 | "comment": "", 310 | "telegram": "" 311 | }, { 312 | "_id": "5acb5633b63b04532f14b367", 313 | "bp_name": "cougars", 314 | "organisation": "EOSeoul.io", 315 | "location": "Korea, Seoul", 316 | "node_addr": "testnet01.eoseoul.io", 317 | "port_http": "8801", 318 | "port_ssl": "", 319 | "port_p2p": "9901", 320 | "pub_key": "EOS7n66sCn99KpCCZ3pucUzXRtGaa38brfoERB71uF7GTopXFiWE2", 321 | "bp": true, 322 | "enabled": true, 323 | "comment": "", 324 | "telegram": "" 325 | }, { 326 | "_id": "5acb5633b63b04532f14b368", 327 | "bp_name": "ladybird", 328 | "organisation": "EOSBcn", 329 | "location": "Barcelona", 330 | "node_addr": "46.101.95.5", 331 | "port_http": "8888", 332 | "port_ssl": "", 333 | "port_p2p": "9876", 334 | "pub_key": "EOS4yS1YPWHaeEXGaT6RP5Hunyea1SgFdAUqEARyHXV5C7FUzbvLC", 335 | "bp": true, 336 | "enabled": true, 337 | "comment": " virtual server on Digital Ocean", 338 | "telegram": "" 339 | }, { 340 | "_id": "5acb5633b63b04532f14b369", 341 | "bp_name": "giraffe", 342 | "organisation": "Niuchain", 343 | "location": "Hong Kong", 344 | "node_addr": "154.48.249.19", 345 | "port_http": "8888", 346 | "port_ssl": "", 347 | "port_p2p": "9876", 348 | "pub_key": "EOS6Sfi9XvXa4QN4DiTdZnNcCf6U4ubLmVTozK8DYvdPUqhmh7KMu", 349 | "bp": true, 350 | "enabled": true, 351 | "comment": "user: Funny", 352 | "telegram": "" 353 | }, { 354 | "_id": "5acb5633b63b04532f14b36a", 355 | "bp_name": "rhino", 356 | "organisation": "HKEOS", 357 | "location": "Hong Kong", 358 | "node_addr": "alessia.hkeos.com", 359 | "port_http": "8888", 360 | "port_ssl": "", 361 | "port_p2p": "9876", 362 | "pub_key": "EOS4tiVonwbmT6w5jZjxaWx8p1CkejsBtcwtn6YaqZRteKyYGQZAE", 363 | "bp": true, 364 | "enabled": true, 365 | "comment": "", 366 | "telegram": "" 367 | }, { 368 | "_id": "5acb5633b63b04532f14b36b", 369 | "bp_name": "cheetah", 370 | "organisation": "EOS Amsterdam", 371 | "location": "Amsterdam", 372 | "node_addr": "cheetah.jungle3.bptn.eosamsterdam.net", 373 | "port_http": "8888", 374 | "port_ssl": "", 375 | "port_p2p": "9876", 376 | "pub_key": "EOS5FFj3wh77cDmwS1X4QcJcB19mS2CPbiv4R4VmeBtKzLeZNYwP4", 377 | "bp": true, 378 | "enabled": true, 379 | "comment": "@monetashi Boy Maas - EOS Amsterdam", 380 | "telegram": "" 381 | }, { 382 | "_id": "5acb5633b63b04532f14b36c", 383 | "bp_name": "termite", 384 | "organisation": "EOS-East", 385 | "location": "London", 386 | "node_addr": "robotikalis.ddns.net", 387 | "port_http": "8888", 388 | "port_ssl": "", 389 | "port_p2p": "9876", 390 | "pub_key": "EOS6Evo5cBXjCyydTbLcssGyUtez31PvxB2UTxt5BFdsL5MTqAaeR", 391 | "bp": true, 392 | "enabled": true, 393 | "comment": "old ant (EOS6ZyjuB8ip1wkifPfVqj1Ran9nynNr4hVJUhU88mZpWPbUBZ4X2)", 394 | "telegram": "Matthew" 395 | }, { 396 | "_id": "5acb5633b63b04532f14b36d", 397 | "bp_name": "snake", 398 | "organisation": "EOSIndia", 399 | "location": "India", 400 | "node_addr": "testnet.eosindia.io", 401 | "port_http": "8888", 402 | "port_ssl": "", 403 | "port_p2p": "9876", 404 | "pub_key": "EOS5gGPXgn2BjqdmHxY2S47dD7eUE7GNdtPuFGQqQM8AqvZk7kMBB", 405 | "bp": true, 406 | "enabled": true, 407 | "comment": "", 408 | "telegram": "@taraldesai" 409 | }, { 410 | "_id": "5acb5633b63b04532f14b36e", 411 | "bp_name": "tapir", 412 | "organisation": "0xc0ffee", 413 | "location": "Germany", 414 | "node_addr": "195.201.131.218", 415 | "port_http": "8888", 416 | "port_ssl": "", 417 | "port_p2p": "9876", 418 | "pub_key": "EOS7JGLyU17YFMwUjUSj3Udq8ST1hxYzdvs8rxwrGqVmTuAp9eJ2S", 419 | "bp": true, 420 | "enabled": true, 421 | "comment": "", 422 | "telegram": "@maxblock" 423 | }, { 424 | "_id": "5acb5633b63b04532f14b36f", 425 | "bp_name": "boar", 426 | "organisation": "EOSBR", 427 | "location": "USA, San Francisco", 428 | "node_addr": "138.68.238.129", 429 | "port_http": "8890", 430 | "port_ssl": "", 431 | "port_p2p": "9876", 432 | "pub_key": "EOS8XecFVmptNZktRCLyBV71V2hXoxmTonpZtQG8TGcW7K9aVc3m6", 433 | "bp": true, 434 | "enabled": true, 435 | "comment": "", 436 | "telegram": "@eduardoelias" 437 | }, { 438 | "_id": "5acb5633b63b04532f14b370", 439 | "bp_name": "spider", 440 | "organisation": "北京星云比特科技有限公司", 441 | "location": "China , Beijing", 442 | "node_addr": "211.159.182.240", 443 | "port_http": "8888", 444 | "port_ssl": "", 445 | "port_p2p": "9876", 446 | "pub_key": "EOS7ez4g6m6jXh1fJND2hjFpfKr2f5Bj8fQq4eNWoRKErqYfvZyea", 447 | "bp": true, 448 | "enabled": true, 449 | "comment": "", 450 | "telegram": "@eduardoelias" 451 | }, { 452 | "_id": "5acbb445b63b04532f14b371", 453 | "bp_name": "koala", 454 | "organisation": "GenerEOS", 455 | "location": "Australia, Sydney", 456 | "node_addr": "jungle.genereos.io", 457 | "port_http": "8888", 458 | "port_ssl": "", 459 | "port_p2p": "9876", 460 | "pub_key": "EOS77uvbjTcBWvk9Le8gGYw7AxXEfibHdxNnREBHQQMEoNnYcWTtA", 461 | "bp": true, 462 | "enabled": true, 463 | "comment": "Google Cloud", 464 | "telegram": "@nsrempel" 465 | }, { 466 | "_id": "5acbd4294b43bf14300f9830", 467 | "bp_name": "beaver", 468 | "organisation": "EOS Calgary", 469 | "location": "Canada, Calgary", 470 | "node_addr": "54.200.153.106", 471 | "port_http": "8888", 472 | "port_ssl": "", 473 | "port_p2p": "9876", 474 | "pub_key": "EOS7PegBZsf9i9briyqsuwR7Hr2e2pkm9DYifogUnRb6ewZTbMNJt", 475 | "bp": true, 476 | "enabled": true, 477 | "comment": "", 478 | "telegram": "@n_doy" 479 | }, { 480 | "_id": "5acc92d44b43bf14300f9832", 481 | "bp_name": "unicorn", 482 | "organisation": "SuperONE.io", 483 | "location": "China", 484 | "node_addr": "39.108.231.157", 485 | "port_http": "8888", 486 | "port_ssl": "", 487 | "port_p2p": "9876", 488 | "pub_key": "EOS6e4KFmvuSyCudd8KhuEiSt19Bcoa6kUYCMaT5wBTVPnxyy5Aow", 489 | "bp": true, 490 | "enabled": true, 491 | "comment": "", 492 | "telegram": "@robinwen" 493 | }, { 494 | "_id": "5acc976c4b43bf14300f9833", 495 | "bp_name": "scorpion", 496 | "organisation": "EOS Zodiac", 497 | "location": "China, Peking", 498 | "node_addr": "139.198.3.99", 499 | "port_http": "8888", 500 | "port_ssl": "", 501 | "port_p2p": "9876", 502 | "pub_key": "EOS7Yspf9WSFLrY1VmDWf1Gxz3DzBndCq33PCNgFqmywcV6hG7u38", 503 | "bp": true, 504 | "enabled": true, 505 | "comment": "Qing Cloud", 506 | "telegram": "@liangcd" 507 | }, { 508 | "_id": "5acdca924b43bf14300f9834", 509 | "bp_name": "hummingbird", 510 | "organisation": "EOSeco", 511 | "location": "China, Shanghai", 512 | "node_addr": "jungle.eoseco.net", 513 | "port_http": "8888", 514 | "port_ssl": "", 515 | "port_p2p": "9876", 516 | "pub_key": "EOS85fDTxvb2P6cXuz5nQyaDwTPbemwcw6KyVDmHHZaGFNog5fBCK", 517 | "bp": true, 518 | "enabled": true, 519 | "comment": "", 520 | "telegram": "@Joshuaqiu" 521 | }, { 522 | "_id": "5acf1ae24b43bf14300f9835", 523 | "bp_name": "tiger-node", 524 | "organisation": "CryptoLions.io", 525 | "location": "Ukraine, Lviv", 526 | "node_addr": "193.93.219.219", 527 | "port_http": "6888", 528 | "port_ssl": "", 529 | "port_p2p": "7876", 530 | "pub_key": "", 531 | "bp": false, 532 | "enabled": false, 533 | "comment": "", 534 | "telegram": "" 535 | }, { 536 | "_id": "5acf27984b43bf14300f9836", 537 | "bp_name": "kangaroo", 538 | "organisation": "EOSphere.io", 539 | "location": "Australia", 540 | "node_addr": "jungle.eosphere.io", 541 | "port_http": "8888", 542 | "port_ssl": "", 543 | "port_p2p": "9876", 544 | "pub_key": "EOS6ahXXcoe7gku6tAguFviS9KB7yA9S74ayKrEva1p1aNvcEU3TB", 545 | "bp": true, 546 | "enabled": true, 547 | "comment": "", 548 | "telegram": "@walt_EOSphere" 549 | }, { 550 | "_id": "5acf29f74b43bf14300f9837", 551 | "bp_name": "leaf", 552 | "organisation": "Dynamics", 553 | "location": "Netherlands", 554 | "node_addr": "185.244.150.11", 555 | "port_http": "8888", 556 | "port_ssl": "", 557 | "port_p2p": "9876", 558 | "pub_key": "EOS6WMkjL2CDxqRwTGw9CftTVynzGQDZG87qQtNrDSu6PFLDyHVWP", 559 | "bp": true, 560 | "enabled": true, 561 | "comment": "", 562 | "telegram": "@Rick285" 563 | }, { 564 | "_id": "5acfaba54b43bf14300f9838", 565 | "bp_name": "macaw", 566 | "organisation": "EOSMX", 567 | "location": "USA", 568 | "node_addr": "52.44.113.122", 569 | "port_http": "80", 570 | "port_ssl": "", 571 | "port_p2p": "9876", 572 | "pub_key": "EOS7WDxeKKZWapFzHoKukzCoT3rt91DNRwNccAjDakmgPtrWmXsd3", 573 | "bp": true, 574 | "enabled": true, 575 | "comment": "", 576 | "telegram": "Rick" 577 | }, { 578 | "_id": "5acfc36b4b43bf14300f9839", 579 | "bp_name": "parrot", 580 | "organisation": "Todd Fleming", 581 | "location": "USA, Virginia", 582 | "node_addr": "testchain.jscut.org", 583 | "port_http": "8888", 584 | "port_ssl": "", 585 | "port_p2p": "9876", 586 | "pub_key": "EOS7noqKmnnuh1u1Ha35FqyJ8ZXm5rR5vPmr9L7Db6QB3qgHrF9hP", 587 | "bp": true, 588 | "enabled": true, 589 | "comment": "", 590 | "telegram": "Todd Fleming" 591 | }, { 592 | "_id": "5ad07b964b43bf14300f983a", 593 | "bp_name": "pug", 594 | "organisation": "ViaBTC", 595 | "location": "China, Shenzhen", 596 | "node_addr": "120.79.155.118", 597 | "port_http": "8888", 598 | "port_ssl": "", 599 | "port_p2p": "9877", 600 | "pub_key": "EOS589V9T9EBqMZoE8urrtDzaCu6YWwg7ZhY6HKgxtqWRPH19ABGA", 601 | "bp": true, 602 | "enabled": true, 603 | "comment": "", 604 | "telegram": "@Robin_lg" 605 | }, { 606 | "_id": "5ad098b54b43bf14300f983b", 607 | "bp_name": "capybara", 608 | "organisation": "EOSDublin.com", 609 | "location": "Dublin", 610 | "node_addr": "testnet.eosdublin.io", 611 | "port_http": "8444", 612 | "port_ssl": "8444", 613 | "port_p2p": "9878", 614 | "pub_key": "EOS6L6TyvSbPFfPNEoM8ZAs23xZK68yYUBqeSRbuZRu3EWsG3LUF8", 615 | "bp": true, 616 | "enabled": true, 617 | "comment": "", 618 | "telegram": "@samnoble" 619 | }, { 620 | "_id": "5ad127c04b43bf14300f983c", 621 | "bp_name": "bear", 622 | "organisation": "EOS SLC", 623 | "location": "USA, Bluffdale, UT", 624 | "node_addr": "eosslc.com", 625 | "port_http": "8889", 626 | "port_ssl": "", 627 | "port_p2p": "9877", 628 | "pub_key": "EOS6nU85ioXFHATeCCudwc3BUwAR5Ya68XpsP4uLqX9Lvjj2sPiFC", 629 | "bp": true, 630 | "enabled": true, 631 | "comment": "", 632 | "telegram": "@eluzgin" 633 | }, { 634 | "_id": "5ad1b8324b43bf14300f983d", 635 | "bp_name": "salamander", 636 | "organisation": "Worbli", 637 | "location": "USA Ohio", 638 | "node_addr": "jungle.worbli.io", 639 | "port_http": "8888", 640 | "port_ssl": "", 641 | "port_p2p": "9876", 642 | "pub_key": "EOS6GQUD2VZPdNJUyUNBGcgVT96CrnQmMRuCCf8vGESSk6ayE2nGG", 643 | "bp": true, 644 | "enabled": true, 645 | "comment": "", 646 | "telegram": "Robert DeWilder - Worbli" 647 | }, { 648 | "_id": "5ad1c1a24b43bf14300f983e", 649 | "bp_name": "crow", 650 | "organisation": "EOS UIP", 651 | "location": "China", 652 | "node_addr": "47.92.97.56", 653 | "port_http": "8888", 654 | "port_ssl": "", 655 | "port_p2p": "9876", 656 | "pub_key": "EOS693uVCr2rKpM7DisgghshmztgLiEuURj93q9ijeHWAN1SUV9Pt", 657 | "bp": true, 658 | "enabled": true, 659 | "comment": "", 660 | "telegram": "ben" 661 | }, { 662 | "_id": "5ad1c5fc4b43bf14300f983f", 663 | "bp_name": "wildcat", 664 | "organisation": "EOS Asia", 665 | "location": "Seoul", 666 | "node_addr": "bp-test.eosasia.one", 667 | "port_http": "8800", 668 | "port_ssl": "", 669 | "port_p2p": "6600", 670 | "pub_key": "EOS61JHByEJf3Ro6zJq6Xe2EG82tW4o365V1zYeWWK24WRxF13mwS", 671 | "bp": true, 672 | "enabled": true, 673 | "comment": "", 674 | "telegram": "@Gaijinjoe" 675 | }, { 676 | "_id": "5ad2106e4b43bf14300f9840", 677 | "bp_name": "elk", 678 | "organisation": "EOS Gravity", 679 | "location": "Hong Kong", 680 | "node_addr": "47.52.18.70", 681 | "port_http": "8388", 682 | "port_ssl": "", 683 | "port_p2p": "3389", 684 | "pub_key": "EOS61v6RWcFMuRMTVZUWYjPnhQBWqzBkXtHV8jrQ7bBTAry6etEhU", 685 | "bp": true, 686 | "enabled": true, 687 | "comment": "", 688 | "telegram": "@Gaijinjoe" 689 | }, { 690 | "_id": "5ad2707b4b43bf14300f9842", 691 | "bp_name": "tarsier", 692 | "organisation": "blckchnd.com", 693 | "location": "Germany, Falkenstein", 694 | "node_addr": "jungle.eos.blckchnd.com", 695 | "port_http": "8888", 696 | "port_ssl": "", 697 | "port_p2p": "9876", 698 | "pub_key": "EOS6VG88TsufLFhHYJscqXYQWFWgDCHUBYtvk6eXvpxEuYV9MUKGk", 699 | "bp": true, 700 | "enabled": true, 701 | "comment": "", 702 | "telegram": "@ruslansalikhov" 703 | }, { 704 | "_id": "5ad30fc14b43bf14300f9843", 705 | "bp_name": "toucan", 706 | "organisation": "wancloud", 707 | "location": "HongKong", 708 | "node_addr": "128.1.133.206", 709 | "port_http": "8888", 710 | "port_ssl": "", 711 | "port_p2p": "9876", 712 | "pub_key": "EOS7wUEGtMFCVo4QA3Rica9wEsuVz6DAtEyNFyah22SmuLqxVcdrt", 713 | "bp": true, 714 | "enabled": true, 715 | "comment": "", 716 | "telegram": "@ahlifei" 717 | }, { 718 | "_id": "5ad3101c4b43bf14300f9844", 719 | "bp_name": "bull", 720 | "organisation": "EOS.Hedging", 721 | "location": "Hong Kong", 722 | "node_addr": "47.52.64.9", 723 | "port_http": "8888", 724 | "port_ssl": "", 725 | "port_p2p": "9876", 726 | "pub_key": "EOS8kSPL1GDUFJqQbESNTTLAuERuNTUtNvj2EUTAFEf2U5iq5iyAA", 727 | "bp": true, 728 | "enabled": true, 729 | "comment": "", 730 | "telegram": "luyao zhang" 731 | }, { 732 | "_id": "5ad3114b4b43bf14300f9845", 733 | "bp_name": "doppelganger", 734 | "organisation": "James Sutherland", 735 | "location": "USA Oregon", 736 | "node_addr": "52.37.122.21", 737 | "port_http": "8888", 738 | "port_ssl": "", 739 | "port_p2p": "9876", 740 | "pub_key": "EOS5FFKwpH6HzCtndWMDi77BVF6yNrdz4sLp9vG6YFw3NpzFhrXiN", 741 | "bp": true, 742 | "enabled": true, 743 | "comment": "", 744 | "telegram": "James Sutherland" 745 | }, { 746 | "_id": "5ad311c94b43bf14300f9846", 747 | "bp_name": "eagle", 748 | "organisation": "EOS Beijing", 749 | "location": "Hongkong", 750 | "node_addr": "eosbeijing.one", 751 | "port_http": "8888", 752 | "port_ssl": "", 753 | "port_p2p": "9876", 754 | "pub_key": "EOS6q3CV1Wv4nxwjw1No7M22CcM7AeRM2eZdaaNqsEmouD3saMArj", 755 | "bp": true, 756 | "enabled": true, 757 | "comment": "", 758 | "telegram": "lucas shang" 759 | }, { 760 | "_id": "5ad315664b43bf14300f9847", 761 | "bp_name": "wolverine", 762 | "organisation": "BP Node", 763 | "location": "Canada, Monreal", 764 | "node_addr": "35.182.46.236", 765 | "port_http": "9879", 766 | "port_ssl": "", 767 | "port_p2p": "6879", 768 | "pub_key": "EOS4wGAn8b5Aw2e2H7Y3x7jspV2e5pkrMFdYfgwzUsmbENr33cmA2", 769 | "bp": true, 770 | "enabled": true, 771 | "comment": "", 772 | "telegram": "@ssekhon" 773 | }, { 774 | "_id": "5ad394c34b43bf14300f9848", 775 | "bp_name": "raven", 776 | "organisation": "EOS NL", 777 | "location": "Frankfurt", 778 | "node_addr": "52.58.245.131", 779 | "port_http": "8888", 780 | "port_ssl": "", 781 | "port_p2p": "9876", 782 | "pub_key": "EOS5E6qVDEVFe9ZE9fPxWTCdjTVcbxH11K5PqwZPPFwfFqwfD5DrY", 783 | "bp": true, 784 | "enabled": true, 785 | "comment": "", 786 | "telegram": "@ThomasStorm" 787 | }, { 788 | "_id": "5ad40a504b43bf14300f9849", 789 | "bp_name": "gazelle", 790 | "organisation": "BlockSmith", 791 | "location": "USA", 792 | "node_addr": "198.58.114.211", 793 | "port_http": "8888", 794 | "port_ssl": "", 795 | "port_p2p": "9876", 796 | "pub_key": "EOS7GpCZ7Sc5L5MMP18bNfqQH6Ga1tDaaN69ynUa1tfZQw32xWdzQ", 797 | "bp": true, 798 | "enabled": true, 799 | "comment": "", 800 | "telegram": "@JerryHuff" 801 | }, { 802 | "_id": "5ad477c54b43bf14300f984a", 803 | "bp_name": "marten", 804 | "organisation": "TestNode", 805 | "location": "Russia", 806 | "node_addr": "217.115.85.26", 807 | "port_http": "8888", 808 | "port_ssl": "", 809 | "port_p2p": "9876", 810 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 811 | "bp": true, 812 | "enabled": true, 813 | "comment": "", 814 | "telegram": "@sss_CRS_sss" 815 | }, { 816 | "_id": "5ad4a9f54b43bf14300f984b", 817 | "bp_name": "hippo", 818 | "organisation": "EOSBlock.co", 819 | "location": "USA, Los Angeles", 820 | "node_addr": "107.150.102.38", 821 | "port_http": "8888", 822 | "port_ssl": "", 823 | "port_p2p": "9876", 824 | "pub_key": "EOS7QjAfxo5Rkjh6KoudvaJMasCvE41CKy1uQTZdDfqgAwqa2LCvy", 825 | "bp": true, 826 | "enabled": true, 827 | "comment": "", 828 | "telegram": "@tyeenoprom" 829 | }, { 830 | "_id": "5ad4d07d4b43bf14300f984c", 831 | "bp_name": "racoon", 832 | "organisation": "eosemerge.io", 833 | "location": "Poland", 834 | "node_addr": "188.117.144.164", 835 | "port_http": "8889", 836 | "port_ssl": "", 837 | "port_p2p": "9877", 838 | "pub_key": "EOS8SmmiQj71JLJtfUenYb2S1y2gdfWCALnbRUXSeosc5R1GC4gpi", 839 | "bp": true, 840 | "enabled": true, 841 | "comment": "", 842 | "telegram": "@Om4tic" 843 | }, { 844 | "_id": "5ad6242c4b43bf14300f984d", 845 | "bp_name": "quokka", 846 | "organisation": "EOSREAL", 847 | "location": "Mumbai-AWS", 848 | "node_addr": "quokka.eosreal.io", 849 | "port_http": "8868", 850 | "port_ssl": "", 851 | "port_p2p": "9886", 852 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 853 | "bp": true, 854 | "enabled": true, 855 | "comment": "", 856 | "telegram": "mao EOSREAL" 857 | }, { 858 | "_id": "5ad7384b4b43bf14300f984e", 859 | "bp_name": "rabbit", 860 | "organisation": "EOS Cannon", 861 | "location": "China", 862 | "node_addr": "119.3.22.124", 863 | "port_http": "8888", 864 | "port_ssl": "", 865 | "port_p2p": "9876", 866 | "pub_key": "EOS5Cdoskbc6pY3M7TPg79utscwuME92CR7J7CwsKjHhgeDfoAPuQ", 867 | "bp": true, 868 | "enabled": true, 869 | "comment": "", 870 | "telegram": "@Luckybean" 871 | }, { 872 | "_id": "5ad891aa8faa930771489b34", 873 | "bp_name": "panther-node", 874 | "organisation": "EOS42", 875 | "location": "UK, London", 876 | "node_addr": "node-d3.eos42.io", 877 | "port_http": "8888", 878 | "port_ssl": "", 879 | "port_p2p": "9876", 880 | "pub_key": "EOS54VPto7BFG7taN5myqbtojAdSmvBU1wHhKkzBKmNUdGJGMuZpb", 881 | "bp": false, 882 | "enabled": true, 883 | "comment": "", 884 | "telegram": "@ankh2054 Charles H - EOS 42" 885 | }, { 886 | "_id": "5adb9b8c8faa930771489b73", 887 | "bp_name": "mamba", 888 | "organisation": "mamba", 889 | "location": "USA, Denver, CO", 890 | "node_addr": "5280.duckdns.org", 891 | "port_http": "8888", 892 | "port_ssl": "", 893 | "port_p2p": "9876", 894 | "pub_key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", 895 | "bp": true, 896 | "enabled": true, 897 | "comment": "", 898 | "telegram": "James L" 899 | }, { 900 | "_id": "5adc73c88faa930771489b75", 901 | "bp_name": "monkey", 902 | "organisation": "EOSLaoMao.com", 903 | "location": "Japan, Tokyo", 904 | "node_addr": "meow.eoslaomao.com", 905 | "port_http": "80", 906 | "port_ssl": "", 907 | "port_p2p": "9876", 908 | "pub_key": "EOS5QT5g1t4PqpmTo4hzoj5rtc7j2CRjCJfbq3Sb2f4TdzgwXjxXC", 909 | "bp": true, 910 | "enabled": true, 911 | "comment": "", 912 | "telegram": "@zhaoyu" 913 | }, { 914 | "_id": "5adda414f7b72709b418669a", 915 | "bp_name": "glowwarm", 916 | "organisation": "ChainPool", 917 | "location": "Japan, Tokyo", 918 | "node_addr": "dev.chainpool.io", 919 | "port_http": "7780", 920 | "port_ssl": "", 921 | "port_p2p": "7781", 922 | "pub_key": "EOS7GEL7tGYSjLXJhnHhupeJY2grTz2U3SXwLRxFqrcvfryyPzauN", 923 | "bp": true, 924 | "enabled": true, 925 | "comment": "", 926 | "telegram": "@liuchengxu" 927 | }, { 928 | "_id": "5addd296f7b72709b418669b", 929 | "bp_name": "frog", 930 | "organisation": "Bitfinex", 931 | "location": "Switzerland, Zurich", 932 | "node_addr": "eos-bp.bitfinex.com", 933 | "port_http": "8888", 934 | "port_ssl": "", 935 | "port_p2p": "9876", 936 | "pub_key": "EOS64PTtiaVKf2zMWDuC93mFNPQaGzGeu2EgzaRcHhbALtXACh6KA", 937 | "bp": true, 938 | "enabled": true, 939 | "comment": "", 940 | "telegram": "@prdn0" 941 | }, { 942 | "_id": "5addff24f7b72709b418669c", 943 | "bp_name": "dolphin", 944 | "organisation": "EOSEOS", 945 | "location": "Ireland", 946 | "node_addr": "34.251.121.82", 947 | "port_http": "8888", 948 | "port_ssl": "", 949 | "port_p2p": "9876", 950 | "pub_key": "EOS7UddrMsaVTpJoWYg3YRzMLsD2QUCAaBskYcgDnka78d4mpxXhy", 951 | "bp": true, 952 | "enabled": true, 953 | "comment": "", 954 | "telegram": "It" 955 | }, { 956 | "_id": "5ade0099f7b72709b418669d", 957 | "bp_name": "lamb", 958 | "organisation": "EOSVibes", 959 | "location": "Germany, Kassel", 960 | "node_addr": "173.212.227.190", 961 | "port_http": "8888", 962 | "port_ssl": "", 963 | "port_p2p": "9876", 964 | "pub_key": "EOS7UP6X1dtetsL5hkCiC77sxadkLoJHvbk9hc1WAx7tVyGVrBwzb", 965 | "bp": true, 966 | "enabled": true, 967 | "comment": "", 968 | "telegram": "@boltxyz" 969 | }, { 970 | "_id": "5adefc42503ce85f129c1abd", 971 | "bp_name": "honeybadger-node", 972 | "organisation": "EOS42", 973 | "location": "UK, London", 974 | "node_addr": "node2-d3.eos42.io", 975 | "port_http": "8888", 976 | "port_ssl": "", 977 | "port_p2p": "9876", 978 | "pub_key": "EOS5yJ2N3U6viyrg7XLnhhVQQSdznLWqhekJfzgvCFoM9AyWBFQf1", 979 | "bp": false, 980 | "enabled": true, 981 | "comment": "", 982 | "telegram": "@ankh2054" 983 | }, { 984 | "_id": "5adf06468438a46066e14004", 985 | "bp_name": "alligator", 986 | "organisation": "eosONO", 987 | "location": "Japan, Tokyo", 988 | "node_addr": "bp-test.ono.chat", 989 | "port_http": "8888", 990 | "port_ssl": "", 991 | "port_p2p": "9876", 992 | "pub_key": "EOS8HLWem6rZQFRv8NYY3dxf6r3A5bmcazp8ydWqBrbnLcYurN435", 993 | "bp": true, 994 | "enabled": true, 995 | "comment": "", 996 | "telegram": "@yongbin" 997 | }, { 998 | "_id": "5adf0d4f8438a46066e14005", 999 | "bp_name": "ocelot", 1000 | "organisation": "sandwich.farm", 1001 | "location": "NL, Amsterdam", 1002 | "node_addr": "avocado-toast.sandwich.farm", 1003 | "port_http": "8888", 1004 | "port_ssl": "", 1005 | "port_p2p": "9876", 1006 | "pub_key": "EOS78HLh97rLHPEMknsgnYKtWAnQmbCCD9fRYAPHx3T6fS1caj36n", 1007 | "bp": true, 1008 | "enabled": true, 1009 | "comment": "", 1010 | "telegram": "@sandw1ch" 1011 | }, { 1012 | "_id": "5adf2afe8438a46066e14006", 1013 | "bp_name": "koalabear", 1014 | "organisation": "EosLove", 1015 | "location": "Singapore", 1016 | "node_addr": "18.219.28.205", 1017 | "port_http": "8886", 1018 | "port_ssl": "", 1019 | "port_p2p": "9876", 1020 | "pub_key": "EOS7kBkjG2ogTFDasfQ9VZobbpyEDrYiSW1PDhEkhUaGbJbvqoHj5", 1021 | "bp": true, 1022 | "enabled": true, 1023 | "comment": "", 1024 | "telegram": "@EosLove" 1025 | }, { 1026 | "_id": "5adf94f58438a46066e14007", 1027 | "bp_name": "axolotl", 1028 | "organisation": "EOS.Cafe", 1029 | "location": "Canada", 1030 | "node_addr": "axolotl.eoscalgary.com", 1031 | "port_http": "80", 1032 | "port_ssl": "", 1033 | "port_p2p": "9878", 1034 | "pub_key": "EOS7xu6d3GxLbw4CKhxCQeSxg8NV1wjPPrgkBTYeU94dbe7kbQddk", 1035 | "bp": false, 1036 | "enabled": true, 1037 | "comment": "", 1038 | "telegram": "@eoscalgary" 1039 | }, { 1040 | "_id": "5adfa1d78438a46066e14008", 1041 | "bp_name": "croc", 1042 | "organisation": "EOS Floripa", 1043 | "location": "USA, Oregon", 1044 | "node_addr": "34.209.174.121", 1045 | "port_http": "8888", 1046 | "port_ssl": "", 1047 | "port_p2p": "9876", 1048 | "pub_key": "EOS6LiB3hf5qA6EqrP1sTJVF7uq6Qg7DCYzpeFcHXb1pVzS5sh8rw", 1049 | "bp": true, 1050 | "enabled": false, 1051 | "comment": "", 1052 | "telegram": "@rogerioricha" 1053 | }, { 1054 | "_id": "5ae030f28438a46066e14009", 1055 | "bp_name": "duck", 1056 | "organisation": "EOSYS", 1057 | "location": "Korea, Seoul", 1058 | "node_addr": "test.eosys.io", 1059 | "port_http": "8888", 1060 | "port_ssl": "", 1061 | "port_p2p": "9874", 1062 | "pub_key": "EOS5PASRHa8rcZZ71FSwyMnqxtbhoiAvYwbe9T58WxCxU4x85rNfs", 1063 | "bp": true, 1064 | "enabled": true, 1065 | "comment": "", 1066 | "telegram": "@boseokkang" 1067 | }, { 1068 | "_id": "5ae032a78438a46066e1400a", 1069 | "bp_name": "pony", 1070 | "organisation": "www.eoshuobipool.com", 1071 | "location": "Japan", 1072 | "node_addr": "13.114.33.147", 1073 | "port_http": "8888", 1074 | "port_ssl": "", 1075 | "port_p2p": "9876", 1076 | "pub_key": "EOS8Z37zt7AxwhxbXhEDAM4uRJBhysqjnpCtmKGonoWw3hfw4c6Lw", 1077 | "bp": true, 1078 | "enabled": true, 1079 | "comment": "", 1080 | "telegram": "@Gaijinjoe" 1081 | }, { 1082 | "_id": "5ae053608438a46066e1400b", 1083 | "bp_name": "orca", 1084 | "organisation": "EOS Galaxy", 1085 | "location": "China", 1086 | "node_addr": "113.208.116.110", 1087 | "port_http": "8888", 1088 | "port_ssl": "", 1089 | "port_p2p": "9876", 1090 | "pub_key": "EOS5EmMynemBu8MuzyQKcFCM2pHgyaLfcvNi9aUzQxS2Xr1mr69cU", 1091 | "bp": true, 1092 | "enabled": true, 1093 | "comment": "", 1094 | "telegram": "Kevin Xu" 1095 | }, { 1096 | "_id": "5ae07d608438a46066e1400c", 1097 | "bp_name": "earthworm", 1098 | "organisation": "EOS Plane", 1099 | "location": "USA", 1100 | "node_addr": "35.192.58.50", 1101 | "port_http": "8888", 1102 | "port_ssl": "", 1103 | "port_p2p": "9876", 1104 | "pub_key": "EOS7CdNnZoaPtJaDdobHW1dE6AkYRkhq5mfrvBju65DwTmsdpS8Tr", 1105 | "bp": true, 1106 | "enabled": true, 1107 | "comment": "", 1108 | "telegram": "saomany" 1109 | }, { 1110 | "_id": "5ae093ee8438a46066e1400d", 1111 | "bp_name": "toad", 1112 | "organisation": "eosraychain.com", 1113 | "location": "Hong Kong", 1114 | "node_addr": "bptn.eosraychain.com", 1115 | "port_http": "80", 1116 | "port_ssl": "", 1117 | "port_p2p": "9888", 1118 | "pub_key": "EOS6hYcUS9sXuzpeSFLexasPjpp9b56EKDFHSV1F3WWA5ko7gvKSM", 1119 | "bp": true, 1120 | "enabled": true, 1121 | "comment": "", 1122 | "telegram": "Eos Raychain" 1123 | }, { 1124 | "_id": "5ae09a198438a46066e1400e", 1125 | "bp_name": "shark", 1126 | "organisation": "EOSNz", 1127 | "location": "Newzealand", 1128 | "node_addr": "13.211.63.122", 1129 | "port_http": "8888", 1130 | "port_ssl": "", 1131 | "port_p2p": "9876", 1132 | "pub_key": "EOS84sx3uUzZ4pzHznt3A1dLLewtr6dvu7nMTZbBCLmVxCvSba1Jo", 1133 | "bp": true, 1134 | "enabled": true, 1135 | "comment": "", 1136 | "telegram": "@KrisEOSnz" 1137 | }, { 1138 | "_id": "5ae139b98438a46066e1400f", 1139 | "bp_name": "puffin", 1140 | "organisation": "eosvan.com", 1141 | "location": "Canada, Vancouver", 1142 | "node_addr": "54.189.199.39", 1143 | "port_http": "8888", 1144 | "port_ssl": "", 1145 | "port_p2p": "9876", 1146 | "pub_key": "EOS7VURE7AErUDi8Pfb1fULiPNxGnqmkikhS4JhByj7LSzHBNWchq", 1147 | "bp": true, 1148 | "enabled": true, 1149 | "comment": "", 1150 | "telegram": "Chen (EOSVan)" 1151 | }, { 1152 | "_id": "5ae19f318438a46066e14010", 1153 | "bp_name": "fatmouse", 1154 | "organisation": "EOS HDTap", 1155 | "location": "China", 1156 | "node_addr": "eos.shangtv.cn", 1157 | "port_http": "28888", 1158 | "port_ssl": "", 1159 | "port_p2p": "29876", 1160 | "pub_key": "EOS7xMRvmUxk819FTdL5pdP9ytar9XaZ7JLzwvQnj3siHWA6nJA56", 1161 | "bp": true, 1162 | "enabled": true, 1163 | "comment": "", 1164 | "telegram": "@Yonsen" 1165 | }, { 1166 | "_id": "5ae1c2488438a46066e14011", 1167 | "bp_name": "dogo", 1168 | "organisation": "eosargentina.io", 1169 | "location": "USA, Miami", 1170 | "node_addr": "n2.eosargentina.io", 1171 | "port_http": "8888", 1172 | "port_ssl": "", 1173 | "port_p2p": "9876", 1174 | "pub_key": "EOS6NaEcWX3DSTf8jrjb5UNeZikL7RY4tJ8t4w4bC8Z2HbTveRLGb", 1175 | "bp": true, 1176 | "enabled": true, 1177 | "comment": "", 1178 | "telegram": "@JChitty" 1179 | }] 1180 | } 1181 | -------------------------------------------------------------------------------- /run-eosbeat.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "eosbeat.pid" ]; then 4 | echo "eosbeat is already running!" 5 | pid=`cat "eosbeat.pid"` 6 | read -p "Do you want to restart? [y / n]" -n 1 -r 7 | echo -e "\n" 8 | if [[ ! $REPLY =~ ^[Yy]$ ]]; then 9 | [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell 10 | fi 11 | ./stop-eosbeat.sh 12 | fi 13 | echo -e "Starting eosbeat..." 14 | ./eosbeat -c eosbeat.conf.yml -strict.perms=false > out.log 2> err.log & echo $! > eosbeat.pid 15 | -------------------------------------------------------------------------------- /stop-eosbeat.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -f "eosbeat.pid" ]; then 4 | pid=`cat "eosbeat.pid"` 5 | kill -9 $pid 6 | rm -r "eosbeat.pid" 7 | echo -ne "Stopping eosbeat" 8 | while true; do 9 | [ ! -d "/proc/$pid/fd" ] && break 10 | echo -ne "." 11 | sleep 1 12 | done 13 | echo -ne "\reosbeat stopped! \n" 14 | fi 15 | -------------------------------------------------------------------------------- /tests/system/config/eosbeat.yml.j2: -------------------------------------------------------------------------------- 1 | ################### Beat Configuration ######################### 2 | 3 | 4 | 5 | ############################# Output ########################################## 6 | 7 | # Configure what outputs to use when sending the data collected by the beat. 8 | # You can enable one or multiple outputs by setting enabled option to true. 9 | output: 10 | 11 | ### File as output 12 | file: 13 | # Enabling file output 14 | enabled: true 15 | 16 | # Path to the directory where to save the generated files. The option is mandatory. 17 | path: {{ output_file_path|default(beat.working_dir + "/output") }} 18 | 19 | 20 | # Name of the generated files. The default is `eosbeat` and it generates 21 | # files: `eosbeat`, `eosbeat.1`, `eosbeat.2`, etc. 22 | filename: {{ output_file_filename|default("eosbeat") }} 23 | 24 | # Maximum size in kilobytes of each file. When this size is reached, the files are 25 | # rotated. The default value is 10 MB. 26 | #rotate_every_kb: 10000 27 | 28 | # Maximum number of files under path. When this number of files is reached, the 29 | # oldest file is deleted and the rest are shifted from last to first. The default 30 | # is 7 files. 31 | #number_of_files: 7 32 | 33 | 34 | 35 | ############################# Beat ######################################### 36 | 37 | # The name of the shipper that publishes the network data. It can be used to group 38 | # all the transactions sent by a single shipper in the web interface. 39 | # If this options is not defined, the hostname is used. 40 | #name: 41 | 42 | # The tags of the shipper are included in their own field with each 43 | # transaction published. Tags make it easy to group servers by different 44 | # logical properties. 45 | #tags: ["service-X", "web-tier"] 46 | 47 | 48 | 49 | ############################# Logging ######################################### 50 | 51 | #logging: 52 | # Send all logging output to syslog. On Windows default is false, otherwise 53 | # default is true. 54 | #to_syslog: true 55 | 56 | # Write all logging output to files. Beats automatically rotate files if configurable 57 | # limit is reached. 58 | #to_files: false 59 | 60 | # Enable debug output for selected components. 61 | #selectors: [] 62 | 63 | # Set log level 64 | #level: error 65 | 66 | #files: 67 | # The directory where the log files will written to. 68 | #path: /var/log/eosbeat 69 | 70 | # The name of the files where the logs are written to. 71 | #name: eosbeat 72 | 73 | # Configure log file size limit. If limit is reached, log file will be 74 | # automatically rotated 75 | #rotateeverybytes: 10485760 # = 10MB 76 | 77 | # Number of rotated log files to keep. Oldest files will be deleted first. 78 | #keepfiles: 7 79 | -------------------------------------------------------------------------------- /tests/system/eosbeat.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | sys.path.append('../../vendor/github.com/elastic/beats/libbeat/tests/system') 4 | from beat.beat import TestCase 5 | 6 | 7 | class BaseTest(TestCase): 8 | 9 | @classmethod 10 | def setUpClass(self): 11 | self.beat_name = "eosbeat" 12 | self.beat_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")) 13 | super(BaseTest, self).setUpClass() 14 | -------------------------------------------------------------------------------- /tests/system/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eosrio/eosbeat/be21d595ee3a14c4d2f60dd026c3e9cc7692fa11/tests/system/requirements.txt -------------------------------------------------------------------------------- /tests/system/test_base.py: -------------------------------------------------------------------------------- 1 | from eosbeat import BaseTest 2 | 3 | import os 4 | 5 | 6 | class Test(BaseTest): 7 | 8 | def test_base(self): 9 | """ 10 | Basic test with exiting Eosbeat normally 11 | """ 12 | self.render_config_template( 13 | path=os.path.abspath(self.working_dir) + "/log/*" 14 | ) 15 | 16 | eosbeat_proc = self.start_beat() 17 | self.wait_until(lambda: self.log_contains("eosbeat is running")) 18 | exit_code = eosbeat_proc.kill_and_wait() 19 | assert exit_code == 0 20 | --------------------------------------------------------------------------------