Only One Jibri is Connecting

So I am having an issue where on my Jitsi services, only one Jibri is showing up as running when I have multiple Jibris on seperate servers. When I run http://127.0.0.1:8888/stats on my Jitsi server I get the following:

{"jibri_detector":{"count":1,"available":1},"largest_conference":1,"conference_sizes":[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"total_conferences_created":100,"threads":224,"jingle":{"received":{"session-accept":63,"transport-info":63,"source-add":56},"sent":{"session-initiate":64,"session-terminate":17,"source-add":131}},"bridge_failures":{"participants_moved":0,"bridges_removed":0},"total_participants":144,"participant_notifications":{"ice_failed":0,"request_restart":0},"queues":{"jibri-iq-queue":{"added_packets":63,"removed_packets":63,"dropped_packets":0,"duration_s":91054.449373,"average_remove_rate_pps":6.918937013382361E-4,"queue_size_at_remove":{"average_queue_size_at_remove":0.0,"max_queue_size_at_remove":0,"total_value":0,"total_count":63,"buckets":{"<= 0":63,"<= 1":0,"<= 4":0,"<= 16":0,"<= 64":0,"<= 256":0,"<= 1024":0,"<= 4096":0,"<= 16384":0,"> 16384":0,"p99<=":-1,"p999<=":-1}}}},"jigasi":{},"bridge_selector":{"total_least_loaded_in_region_group":0,"lost_bridges":0,"total_not_loaded_in_region_in_conference":0,"in_shutdown_bridge_count":0,"total_not_loaded_in_region_group":0,"operational_bridge_count":1,"total_not_loaded_in_region_group_in_conference":0,"total_least_loaded_in_region_group_in_conference":0,"total_least_loaded":20,"total_least_loaded_in_region":0,"total_split_due_to_load":0,"total_least_loaded_in_region_in_conference":0,"total_not_loaded_in_region":0,"total_split_due_to_region":0,"bridge_count":1,"total_least_loaded_in_conference":0},"jibri":{"total_sip_call_failures":0,"live_streaming_pending":0,"recording_pending":0,"live_streaming_active":0,"total_recording_failures":0,"sip_call_pending":0,"sip_call_active":0,"total_live_streaming_failures":18,"recording_active":0},"conferences":1,"participants":1}

Now when I go to restart my first Jibri server, the following is in the logs: /var/log/jitsi/jibri/log.0.txt

2022-07-24 17:06:37.606 INFO: [1] MainKt.handleCommandLineArgs#186: Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2022-07-24 17:06:37.809 INFO: [1] MainKt.setupLegacyConfig#211: Checking legacy config file /etc/jitsi/jibri/config.json
2022-07-24 17:06:37.809 INFO: [1] MainKt.setupLegacyConfig#214: Legacy config file /etc/jitsi/jibri/config.json doesn't exist
2022-07-24 17:06:38.416 INFO: [1] MainKt.main#55: Jibri starting up with id 
2022-07-24 17:06:39.353 INFO: [1] JwtInfo$Companion.fromConfig#154: got jwtConfig: {}

2022-07-24 17:06:39.353 INFO: [1] JwtInfo$Companion.fromConfig#164: Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: /etc/jitsi/jibri/jibri.conf: 87: No configuration setting found for key 'signing-key-path'
2022-07-24 17:06:39.594 INFO: [1] MainKt.main#125: Using port 3333 for internal HTTP API
2022-07-24 17:06:39.645 FINE: [18] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status
2022-07-24 17:06:40.484 INFO: [1] XmppApi.updatePresence#203: Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2022-07-24 17:06:40.492 INFO: [1] XmppApi.start#156: Connecting to xmpp environment on meet.example.com with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[meet.example.com], xmppDomain=meet.example.com, baseUrl=null, controlLogin=XmppCredentials(domain=auth.meet.example.com, port=null, username=jibri, password=*****), controlMuc=XmppMuc(domain=internal.auth.meet.example.com, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.example.com, port=null, username=recorder, password=*****), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true, securityMode=null)
2022-07-24 17:06:40.493 INFO: [1] XmppApi.start#168: The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2022-07-24 17:06:40.551 INFO: [1] MainKt.main#152: Using port 2222 for HTTP API
2022-07-24 17:06:40.558 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.initializeConnectAndJoin#278: Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=meet.example.com domain=auth.meet.example.com hostname=meet.example.com port=null username=jibri mucs=[jibribrewery@internal.auth.meet.example.com] mucNickname=jibri-nickname disableCertificateVerification=true]
2022-07-24 17:06:40.605 WARNING: [29] MucClient.createXMPPTCPConnectionConfiguration#116: Disabling certificate verification!
2022-07-24 17:06:40.645 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.initializeConnectAndJoin#340: Dispatching a thread to connect and login.
2022-07-24 17:06:40.973 FINE: [29] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: xmpp-connected:xmpp_server_host:meet.example.com
2022-07-24 17:06:40.974 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$2.connected#311: Connected.
2022-07-24 17:06:40.974 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.lambda$getConnectAndLoginCallable$7#636: Logging in.
2022-07-24 17:06:41.093 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$2.authenticated#317: Authenticated, b=false
2022-07-24 17:06:41.145 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$MucWrapper.join#760: Joined MUC: jibribrewery@internal.auth.meet.example.com
2022-07-24 17:07:39.589 FINE: [18] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status

And the logs on my 2nd Jitsi server are similar:

2022-07-24 17:07:56.597 INFO: [1] MainKt.handleCommandLineArgs#186: Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2022-07-24 17:07:56.730 INFO: [1] MainKt.setupLegacyConfig#211: Checking legacy config file /etc/jitsi/jibri/config.json
2022-07-24 17:07:56.730 INFO: [1] MainKt.setupLegacyConfig#214: Legacy config file /etc/jitsi/jibri/config.json doesn't exist
2022-07-24 17:07:57.087 INFO: [1] MainKt.main#55: Jibri starting up with id 
2022-07-24 17:07:57.611 INFO: [1] JwtInfo$Companion.fromConfig#154: got jwtConfig: {}

2022-07-24 17:07:57.611 INFO: [1] JwtInfo$Companion.fromConfig#164: Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: /etc/jitsi/jibri/jibri.conf: 87: No configuration setting found for key 'signing-key-path'
2022-07-24 17:07:57.776 INFO: [1] MainKt.main#125: Using port 3333 for internal HTTP API
2022-07-24 17:07:57.818 FINE: [18] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status
2022-07-24 17:07:58.355 INFO: [1] XmppApi.updatePresence#203: Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2022-07-24 17:07:58.366 INFO: [1] XmppApi.start#156: Connecting to xmpp environment on meet.example.com with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[meet.example.com], xmppDomain=meet.example.com, baseUrl=null, controlLogin=XmppCredentials(domain=auth.meet.example.com, port=null, username=jibri, password=*****), controlMuc=XmppMuc(domain=internal.auth.meet.example.com, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.example.com, port=null, username=recorder, password=*****), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true, securityMode=null)
2022-07-24 17:07:58.369 INFO: [1] XmppApi.start#168: The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2022-07-24 17:07:58.408 INFO: [1] MainKt.main#152: Using port 2222 for HTTP API
2022-07-24 17:07:58.415 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.initializeConnectAndJoin#278: Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=meet.example.com domain=auth.meet.example.com hostname=meet.example.com port=null username=jibri mucs=[jibribrewery@internal.auth.meet.example.com] mucNickname=jibri-nickname disableCertificateVerification=true]
2022-07-24 17:07:58.455 WARNING: [29] MucClient.createXMPPTCPConnectionConfiguration#116: Disabling certificate verification!
2022-07-24 17:07:58.498 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.initializeConnectAndJoin#340: Dispatching a thread to connect and login.
2022-07-24 17:07:58.753 FINE: [29] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: xmpp-connected:xmpp_server_host:meet.example.com
2022-07-24 17:07:58.754 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$2.connected#311: Connected.
2022-07-24 17:07:58.754 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient.lambda$getConnectAndLoginCallable$7#636: Logging in.
2022-07-24 17:07:58.842 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$2.authenticated#317: Authenticated, b=false
2022-07-24 17:07:58.888 INFO: [29] [hostname=meet.example.com id=meet.example.com] MucClient$MucWrapper.join#760: Joined MUC: jibribrewery@internal.auth.meet.example.com
2022-07-24 17:08:57.769 FINE: [18] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status

From what reading, they are both connecting, yet only one is showing up. Am I doing something wrong?

Are nicknames different in jibri.conf?

Nicknames? Do you be the id?

jibri {

// A unique identifier for this Jibri
  // TODO: eventually this will be required with no default
  id = ""
  // Whether or not Jibri should return to idle state after handling
  // (successfully or unsuccessfully) a request.  A value of 'true'
  // here means that a Jibri will NOT return back to the IDLE state
  // and will need to be restarted in order to be used again.
  single-use-mode = false

@emrah

Nevermind, I found it and that solved my issue.

control-muc {
domain = “internal.auth.JITSI_HOST
room-name = “JibriBrewery”
nickname = “jibri-nickname”
}

Is there a way to autogenerate a random nickname?

/etc/systemd/system/jibri-ephemeral-config.service
/usr/local/sbin/jibri-ephemeral-config (first 16 lines)

I see mine launch script is: /opt/jitsi/jibri/launch.sh

So what I potentially could do in the launch.sh script is add a script that generates a UUID and sets it to the nickname variable.

If you update the launch script, it’ll break in future Jibri upgrade.