Stats for Telegram
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
.gitignore
README.md
dashboard.json
fields.yml
filebeat.yml
messages.py
requirements.txt
telegram.ini
visualisations.json

README.md

Telegrammetry

Stats for Telegram

tgrm dashboard

Dependencies

  • Python (tested with 3.7)
  • Elasticsearch (tested with 6.2.4)
  • Kibana (tested with 6.2.4)
  • Filebeat (tested with 6.2.4)

Setup

  1. Fill in your Telegram account details into telegram.ini.

  2. Run messages.py and redirect its output to a file:

PYTHONUNBUFFERED=1 python messages.py > messages.log

Note: You need to run messages.py at least once first to set up your Telegram session on a new device with the code that will be sent to you.

  1. Start Elasticsearch

  2. Modify filebeat.yml and add your message log path under paths for the log input:

 # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /path/to/your/log/file
  1. Start Filebeat and set the config path to the tgrm folder:
filebeat -e --path.config $PWD

The -e flag tells Filebeat to log to standard error.

  1. Start Kibana.

  2. Inside Kibana, create an index pattern for filebeat-, selecting timestamp as the Time Filter field name.

  3. After creating a new index pattern, go to the "Management" tab and select "Index Patterns". The ID of the newly-created index pattern will be in the address bar just behind indices/. Copy it.

  4. Inside visualisations.json, replace all IDs under kibanaSavedObjectMeta.searchSourceJSON.index with your index ID.

  5. Go to "Saved Objects" under the "Management" tab and import your modified visualisations.json and dashboard.json.