{"id":18292516,"url":"https://github.com/marclop/kibana-workshop","last_synced_at":"2025-04-09T07:55:27.576Z","repository":{"id":81024782,"uuid":"45307948","full_name":"marclop/kibana-workshop","owner":"marclop","description":"Kibana workshop repo","archived":false,"fork":false,"pushed_at":"2015-11-03T17:36:00.000Z","size":136,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-15T02:19:12.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marclop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-31T15:54:48.000Z","updated_at":"2018-08-02T15:13:15.000Z","dependencies_parsed_at":"2023-03-10T03:00:31.102Z","dependency_job_id":null,"html_url":"https://github.com/marclop/kibana-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marclop%2Fkibana-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marclop%2Fkibana-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marclop%2Fkibana-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marclop%2Fkibana-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marclop","download_url":"https://codeload.github.com/marclop/kibana-workshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999852,"owners_count":21031044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T14:18:23.309Z","updated_at":"2025-04-09T07:55:27.554Z","avatar_url":"https://github.com/marclop.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kibana workshop repo\n\n## Prerequisites\n\nInfrastructure wise you'll need:\n* Docker environment reachable by the docker client, I recommend installing [Docker Toolbox](https://www.docker.com/toolbox)\n* Being in a Unix-like system which has `make` available\n\nYou need to get an OAuth token in order to use Twitter river. Please follow Twitter documentation, basically:\n\n* Login to: https://dev.twitter.com/apps/\n* Create a new Twitter application (let's say elasticsearch): https://dev.twitter.com/apps/new You don't need a callback URL.\n* When done, click on Create my access token.\n* Open OAuth tool tab and note Consumer key, Consumer secret, Access token and Access token secret.\n\n## Environment preconfiguration\n\nThere's an [environment.yml](environment.yml) file available in the root directory of this repo. I recommend copying the file and filling all the key-values of the YAML with the information retrieved form the Twitter developer center.\n\n## Starting it up\n\nTyping up `make` will be enough to get it started\n```bash\nCreating kibanaworkshop_elasticsearch_1...\nCreating kibanaworkshop_toolbox_1...\nCreating kibanaworkshop_kibana_1...\nAttaching to kibanaworkshop_kibana_1, kibanaworkshop_toolbox_1, kibanaworkshop_elasticsearch_1\nelasticsearch_1 | ===============================\nelasticsearch_1 | starting elastic search.\nelasticsearch_1 | ===============================\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | checking ulimits\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | -f: file size (blocks)             unlimited\nelasticsearch_1 | -t: cpu time (seconds)             unlimited\nelasticsearch_1 | -d: data seg size (kb)             unlimited\nelasticsearch_1 | -s: stack size (kb)                8192\nelasticsearch_1 | -c: core file size (blocks)        0\nelasticsearch_1 | -m: resident set size (kb)         unlimited\nelasticsearch_1 | -l: locked memory (kb)             64\nelasticsearch_1 | -p: processes                      1048576\nelasticsearch_1 | -n: file descriptors               1048576\nelasticsearch_1 | -v: address space (kb)             unlimited\nelasticsearch_1 | -w: locks                          unlimited\nelasticsearch_1 | -e: scheduling priority            0\nelasticsearch_1 | -r: real-time priority             0\nelasticsearch_1 | fs.file_max: 401540\nelasticsearch_1 | vm.max_map_count: 65530\nelasticsearch_1 | you have more than 64k allowed file descriptors. awesome.\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | files in volume\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | [WARNING] missing elasticsearch config. not setting es.path.home to /var/lib/elasticsearch\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | command opts\nelasticsearch_1 | -------------------------------\nelasticsearch_1 |\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | elastic search command\nelasticsearch_1 | -------------------------------\nelasticsearch_1 | /opt/elasticsearch/bin/elasticsearch\nelasticsearch_1 | [2015-11-03 17:23:07,793][INFO ][node                     ] [Ghost Maker] version[1.7.2], pid[1], build[e43676b/2015-09-14T09:49:53Z]\nelasticsearch_1 | [2015-11-03 17:23:07,793][INFO ][node                     ] [Ghost Maker] initializing ...\nelasticsearch_1 | [2015-11-03 17:23:07,884][INFO ][plugins                  ] [Ghost Maker] loaded [river-twitter], sites []\nelasticsearch_1 | [2015-11-03 17:23:07,934][INFO ][env                      ] [Ghost Maker] using [1] data paths, mounts [[/var/lib/elasticsearch (/dev/sda1)]], net usable_space [0b], net total_space [18.1gb], types [ext4]\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":50,\"err\":\"Request error, retrying -- connect ECONNREFUSED\",\"msg\":\"\",\"time\":\"2015-11-03T17:23:09.676Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":40,\"msg\":\"Unable to revive connection: http://elasticsearch:9200/\",\"time\":\"2015-11-03T17:23:09.687Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":40,\"msg\":\"No living connections\",\"time\":\"2015-11-03T17:23:09.688Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":30,\"msg\":\"Unable to connect to elasticsearch at http://elasticsearch:9200. Retrying in 2.5 seconds.\",\"time\":\"2015-11-03T17:23:09.693Z\",\"v\":0}\nelasticsearch_1 | [2015-11-03 17:23:10,325][INFO ][node                     ] [Ghost Maker] initialized\nelasticsearch_1 | [2015-11-03 17:23:10,325][INFO ][node                     ] [Ghost Maker] starting ...\nelasticsearch_1 | [2015-11-03 17:23:10,457][INFO ][transport                ] [Ghost Maker] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/172.17.0.15:9300]}\nelasticsearch_1 | [2015-11-03 17:23:10,480][INFO ][discovery                ] [Ghost Maker] elasticsearch/XuPhRNiFSF6-JzhDtt308g\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":40,\"msg\":\"Unable to revive connection: http://elasticsearch:9200/\",\"time\":\"2015-11-03T17:23:12.205Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":40,\"msg\":\"No living connections\",\"time\":\"2015-11-03T17:23:12.206Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":30,\"msg\":\"Unable to connect to elasticsearch at http://elasticsearch:9200. Retrying in 2.5 seconds.\",\"time\":\"2015-11-03T17:23:12.208Z\",\"v\":0}\nelasticsearch_1 | [2015-11-03 17:23:14,262][INFO ][cluster.service          ] [Ghost Maker] new_master [Ghost Maker][XuPhRNiFSF6-JzhDtt308g][d26a0e0e10f8][inet[/172.17.0.15:9300]], reason: zen-disco-join (elected_as_master)\nelasticsearch_1 | [2015-11-03 17:23:14,327][INFO ][http                     ] [Ghost Maker] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/172.17.0.15:9200]}\nelasticsearch_1 | [2015-11-03 17:23:14,327][INFO ][node                     ] [Ghost Maker] started\nelasticsearch_1 | [2015-11-03 17:23:14,340][INFO ][gateway                  ] [Ghost Maker] recovered [0] indices into cluster_state\nelasticsearch_1 | [2015-11-03 17:23:14,638][INFO ][cluster.metadata         ] [Ghost Maker] [twitter] creating index, cause [api], templates [], shards [5]/[1], mappings [firehose]\ntoolbox_1       | {\"acknowledged\":true}\nelasticsearch_1 | [2015-11-03 17:23:14,841][INFO ][cluster.metadata         ] [Ghost Maker] [.kibana] creating index, cause [api], templates [], shards [5]/[1], mappings [index-pattern, config]\ntoolbox_1       | {\"acknowledged\":true}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":30,\"msg\":\"Elasticsearch is still initializing the kibana index... Trying again in 2.5 second.\",\"time\":\"2015-11-03T17:23:14.878Z\",\"v\":0}\ntoolbox_1       | {\"_index\":\".kibana\",\"_type\":\"config\",\"_id\":\"4.1.0\",\"_version\":1,\"created\":true}\ntoolbox_1       | {\"_index\":\".kibana\",\"_type\":\"index-pattern\",\"_id\":\"twitter\",\"_version\":1,\"created\":true}\nelasticsearch_1 | [2015-11-03 17:23:15,093][INFO ][cluster.metadata         ] [Ghost Maker] [_river] creating index, cause [auto(index api)], templates [], shards [1]/[1], mappings [twitter]\ntoolbox_1       | {\"_index\":\"_river\",\"_type\":\"twitter\",\"_id\":\"_meta\",\"_version\":1,\"created\":true}\nelasticsearch_1 | [2015-11-03 17:23:15,141][INFO ][cluster.metadata         ] [Ghost Maker] [_river] update_mapping [twitter] (dynamic)\nelasticsearch_1 | [2015-11-03 17:23:15,148][INFO ][river                    ] [Ghost Maker] rivers have been deprecated. Read https://www.elastic.co/blog/deprecating_rivers\nelasticsearch_1 | [2015-11-03 17:23:15,156][INFO ][river.twitter            ] [Ghost Maker] [twitter][twitter] creating twitter stream river\nelasticsearch_1 | [2015-11-03 17:23:15,164][INFO ][cluster.metadata         ] [Ghost Maker] [_river] update_mapping [twitter] (dynamic)\nelasticsearch_1 | [2015-11-03 17:23:15,167][INFO ][river.twitter            ] [Ghost Maker] [twitter][twitter] starting sample twitter stream\nelasticsearch_1 | [2015-11-03 17:23:15,235][INFO ][twitter4j.TwitterStreamImpl] Establishing connection.\nelasticsearch_1 | [2015-11-03 17:23:16,768][INFO ][twitter4j.TwitterStreamImpl] Connection established.\nelasticsearch_1 | [2015-11-03 17:23:16,769][INFO ][twitter4j.TwitterStreamImpl] Receiving status stream.\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":30,\"msg\":\"Found kibana index\",\"time\":\"2015-11-03T17:23:17.387Z\",\"v\":0}\nkibana_1        | {\"name\":\"Kibana\",\"hostname\":\"80c0d6526f4d\",\"pid\":1,\"level\":30,\"msg\":\"Listening on 0.0.0.0:5601\",\"time\":\"2015-11-03T17:23:17.507Z\",\"v\":0}\nelasticsearch_1 | [2015-11-03 17:23:40,156][INFO ][cluster.metadata         ] [Ghost Maker] [.kibana] update_mapping [visualization] (dynamic)\ntoolbox_1       | {\"took\":12,\"errors\":false,\"items\":[{\"index\":{\"_index\":\".kibana\",\"_type\":\"search\",\"_id\":\"English-tweets\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Friend-word-count\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Total-tweets\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Popular-engilsh-hashtags\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Language-history-points\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Language-slash-Loc-split\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"Markdown-text\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"visualization\",\"_id\":\"English-tweets\",\"_version\":1,\"status\":201}},{\"index\":{\"_index\":\".kibana\",\"_type\":\"dashboard\",\"_id\":\"Tweet-dash\",\"_version\":1,\"status\":201}}]}\nelasticsearch_1 | [2015-11-03 17:23:40,164][INFO ][cluster.metadata         ] [Ghost Maker] [.kibana] update_mapping [dashboard] (dynamic)\nelasticsearch_1 | [2015-11-03 17:23:40,165][INFO ][cluster.metadata         ] [Ghost Maker] [.kibana] update_mapping [search] (dynamic)\nkibanaworkshop_toolbox_1 exited with code 0\n```\n\nAfter all that gibberish is gone, expect the command to close, as the container `toolbox` will be a short lived one.\n\n## Viewing Kibana data\n\nPoint your browser to `http://\u003cdocker-ip\u003e:5601/` and you'll see Kibana loading up with a few dashboards included for what u paid :metal:\n\n## Accessing Elasticserach\n\nElasticsearch is available at `http://\u003cdocker-ip\u003e:19200/`\n\n## Other commands\n\n### Viewing logs\n\n```bash\nmake logs\n```\n\n### Stopping it\n\n```bash\nmake kill\n```\n\n### Removing everything\n\nIt will also stop the environment if its running\n\n```bash\nmake nodev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarclop%2Fkibana-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarclop%2Fkibana-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarclop%2Fkibana-workshop/lists"}