Install package from pip
pip install aiogram_logging
Prepare InlfuxDB and Grafana with this repo.
Import and create instances
from aiogram_logging import Logger, InfluxSender
sender = InfluxSender(host='localhost',
db='db-name',
username='db-user',
password='db-password')
logger = Logger(sender)
Create StatMiddleware to logging every incoming message
class StatMiddleware(BaseMiddleware):
def __init__(self):
super(StatMiddleware, self).__init__()
async def on_process_message(self, message: types.Message, data: dict):
await logger.write_logs(self._manager.bot.id, message, parse_text=True)
dp.middleware.setup(StatMiddleware())
Create dashboard by yourself or import from grafana-dashboard.json
Yeah, you can connect several bots for one InfluxDB
- Explain how to manage logs from several bots in Grafana
- Parse more different data