nimarion / promcord Goto Github PK
View Code? Open in Web Editor NEW๐ Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
License: MIT License
๐ Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
License: MIT License
We could make the dashboards easier to parse through if the user IDs were resolved to display names and usernames which could be bundled into the metrics.
I'm aware this would come at a significant API quota cost, and potentially would require some caching & persistence, so it should be opt-in.
same here with docker-compose 1.29.2
10:37:28,235 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:37:28,237 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:37:28,238 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/promcord.jar!/logback.xml]
10:37:28,257 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@3d8314f0 - URL [jar:file:/promcord.jar!/logback.xml] is not of type file
10:37:28,353 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:37:28,357 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [net.dv8tion.jda] to ERROR
10:37:28,358 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
10:37:28,362 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Console]
10:37:28,371 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] pr
10:37:28,461 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [io.sentry.logback.SentryAppender]
10:37:28,547 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Sentry]
10:37:28,563 |-WARN in io.sentry.logback.SentryAppender[Sentry] - Failed to init Sentry during appender initialization: DSN is required. Use empty string to disable SDK.
10:37:28,563 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
10:37:28,563 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Console] to Logger[ROOT]
10:37:28,563 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Sentry] to Logger[ROOT]
10:37:28,563 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:37:28,564 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2df32bf7 - Registering current configuration as safe fallback point
Originally posted by @mazzma12 in #151 (comment)
The issue for logback-test can br fixed by adding "logback-test.xml" under src/main/ressource with the same data as logback.xml
<configuration>
<logger name="net.dv8tion.jda" level="ERROR"/>
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<root level="INFO">
<appender-ref ref="Console"/>
<appender-ref ref="Sentry"/>
</root>
</configuration>
Correct me if anything is wrong
Whenever the docker container is restarted all the message statistics reset, would be nice if the latest "stats" where written to a file that is loaded again when starting up.
Hello.
I would like to use this for a couple of my servers. Now, I can see it is tracking both of my servers but is it possible to set it, so on one dashboard, it tracks one server and on another one, it tracks a different one?
Also, instead of reading server ID, could it be possible, to have it be named? Like instead of showing 18 numbers, it would show server name? Same for the users.
Annotations for messages in a certain channel, eg. an announcements channel. Can be used to see how announcements might influence user activity.
The Bot reports a wrong user count.
The bot should report the right user count.
N/A
Hello, I want to change the port of promcord exporter. I change it in docker-compose.yaml, prometheus.yml and grafana.json but it still not working. I would like to know if there is something else to change?
docker-compose.yml:
promcord:
image: "biospheere/promcord"
restart: always
env_file: .env
container_name: "promcord"
expose:
- 7000
prometheus.yml:
scrape_configs:
- job_name: 'discord'
static_configs:
- targets: ['promcord:7000']
grafana.json (l.83-84):
"fields": "/^discord_ping_websocket{instance=\"promcord:7000\", job=\"discord\"}$/",
"values": false
It works but i want to add my server how I do that?
I got my personal token and it seems like it's not getting any data. The dashboard is completely empty and showing N/A everywhere.
docker log promcord is showing:
07:22:51.016 [main] INFO de.biosphere.promcord.Promcord - Starting promcord
07:22:51.055 [main] INFO de.biosphere.promcord.Configuration - Configuration lo aded!
07:22:52.236 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
07:22:52.271 [main] WARN io.sentry.dsn.Dsn - *** Couldn't find a suitable DSN, Sentry operations will do nothing! See documentation: https://docs.sentry.io/cli ents/java/ ***
07:22:52.282 [main] WARN io.sentry.DefaultSentryClientFactory - No 'stacktrace. app.packages' was configured, this option is highly recommended as it affects st acktrace grouping and display on Sentry. See documentation: https://docs.sentry. io/clients/java/config/#in-application-stack-frames
07:22:52.287 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
javax.security.auth.login.LoginException: The provided token is invalid!
at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:365)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:282)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:249)
at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1869)
at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
at de.biosphere.promcord.Promcord.(Promcord.java:29)
at de.biosphere.promcord.Promcord.main(Promcord.java:72)
07:22:56.744 [main] INFO de.biosphere.promcord.Promcord - Starting promcord
07:22:56.784 [main] INFO de.biosphere.promcord.Configuration - Configuration lo aded!
07:22:57.913 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
07:22:57.943 [main] WARN io.sentry.dsn.Dsn - *** Couldn't find a suitable DSN, Sentry operations will do nothing! See documentation: https://docs.sentry.io/cli ents/java/ ***
07:22:57.954 [main] WARN io.sentry.DefaultSentryClientFactory - No 'stacktrace. app.packages' was configured, this option is highly recommended as it affects st acktrace grouping and display on Sentry. See documentation: https://docs.sentry. io/clients/java/config/#in-application-stack-frames
07:22:57.958 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
javax.security.auth.login.LoginException: The provided token is invalid!
at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:365)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:282)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:249)
at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1869)
at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
at de.biosphere.promcord.Promcord.(Promcord.java:29)
at de.biosphere.promcord.Promcord.main(Promcord.java:72)
The Token is 100% working
promcord docker process keeps restarting. Not sure if this is a bug or a misconfiguration of the bot on our server.
18:47:31.632 [main] INFO de.biosphere.promcord.Promcord - Starting promcord
18:47:31.702 [main] INFO de.biosphere.promcord.Configuration - Configuration loaded!
18:47:44.083 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing JDA!
18:47:44.102 [main] ERROR de.biosphere.promcord.Promcord - Encountered exception while initializing the bot!
java.lang.IllegalStateException: Could not acquire lock in a reasonable timeframe! (10 seconds)
at net.dv8tion.jda.api.utils.MiscUtil.tryLock(MiscUtil.java:164)
at net.dv8tion.jda.api.utils.MiscUtil.locked(MiscUtil.java:126)
at net.dv8tion.jda.internal.requests.ratelimit.BotRateLimiter.stop(BotRateLimiter.java:169)
at net.dv8tion.jda.internal.requests.Requester.stop(Requester.java:321)
at net.dv8tion.jda.internal.JDAImpl.shutdownInternals(JDAImpl.java:701)
at net.dv8tion.jda.internal.JDAImpl.shutdown(JDAImpl.java:682)
at net.dv8tion.jda.internal.JDAImpl.shutdownNow(JDAImpl.java:671)
at net.dv8tion.jda.internal.JDAImpl.verifyToken(JDAImpl.java:360)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:281)
at net.dv8tion.jda.internal.JDAImpl.login(JDAImpl.java:248)
at net.dv8tion.jda.api.JDABuilder.build(JDABuilder.java:1929)
at de.biosphere.promcord.Promcord.initializeJDA(Promcord.java:56)
at de.biosphere.promcord.Promcord.<init>(Promcord.java:29)
at de.biosphere.promcord.Promcord.main(Promcord.java:72)
18:47:46,779 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
18:47:46,785 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
18:47:46,793 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/promcord.jar!/logback.xml]
18:47:46,856 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@3d8314f0 - URL [jar:file:/promcord.jar!/logback.xml] is not of type file
18:47:47,227 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
18:47:47,248 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [net.dv8tion.jda] to ERROR
18:47:47,248 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
18:47:47,267 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Console]
18:47:47,308 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
18:47:47,603 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [io.sentry.logback.SentryAppender]
18:47:47,777 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [Sentry]
18:47:47,807 |-WARN in io.sentry.logback.SentryAppender[Sentry] - Failed to init Sentry during appender initialization: DSN is required. Use empty string to disable SDK.
18:47:47,807 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
18:47:47,807 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Console] to Logger[ROOT]
18:47:47,809 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [Sentry] to Logger[ROOT]
18:47:47,809 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
18:47:47,810 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2df32bf7 - Registering current configuration as safe fallback point
Currently, the only available image on Docker Hub is tagged 'latest', perhaps the project could follow semver & the image tags could follow suit.
It'd be ideal if the metrics could all start with promcord_
so they can be easily found in a large list of metrics & to avoid any duplicates, for example; msg_count
was already in use by another one of our sources.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.