API Activity Dashboard does not show any activity

I successfully installed Tyk On-Premises on Ubuntu 16.04 using these instructions:

https://tyk.io/docs/get-started/with-tyk-on-premise/installation/on-ubuntu/

Also, I successfully proxied my API through the Tyk API Gateway, and my API is working as expected. However, the API Activity Dashboard does not show any activity, even though the Log Browser shows successful POST operations.

Any idea what is happening here?

Here are my versions:

mongodb 3.4.7
redis-server 3.0.6
tyk-dashboard 1.3.9
tyk-gateway 2.3.8
tyk-pump 0.4.2

And here is my tyk.conf:

{
“listen_port”: 8080,
“node_secret”: “352d20ee67be67f6340b4c0605b044b7”,
“secret”: “352d20ee67be67f6340b4c0605b044b7”,
“template_path”: “/opt/tyk-gateway/templates”,
“tyk_js_path”: “/opt/tyk-gateway/js/tyk.js”,
“use_db_app_configs”: true,
“db_app_conf_options”: {
“connection_string”: “”,
“node_is_segmented”: false,
“tags”:
},
“disable_dashboard_zeroconf”: false,
“app_path”: “/opt/tyk-gateway/apps”,
“middleware_path”: “/opt/tyk-gateway/middleware”,
“storage”: {
“type”: “redis”,
“host”: “localhost”,
“port”: 6379,
“username”: “”,
“password”: “”,
“database”: 0,
“optimisation_max_idle”: 2000,
“optimisation_max_active”: 4000
},
“enable_analytics”: true,
“analytics_config”: {
“type”: “mongo”,
“pool_size”: 100,
“csv_dir”: “/tmp”,
“mongo_url”: “”,
“mongo_db_name”: “”,
“mongo_collection”: “”,
“purge_delay”: 100,
“ignored_ips”: ,
“enable_detailed_recording”: true,
“enable_geo_ip”: false,
“geo_ip_db_path”: “”,
“normalise_urls”: {
“enabled”: true,
“normalise_uuids”: true,
“normalise_numbers”: true,
“custom_patterns”:
}
},
“health_check”: {
“enable_health_checks”: false,
“health_check_value_timeouts”: 60
},
“optimisations_use_async_session_write”: true,
“allow_master_keys”: false,
“policies”: {
“policy_source”: “service”,
“policy_connection_string”: “”,
“policy_record_name”: “tyk_policies”,
“allow_explicit_policy_id”: true
},
“hash_keys”: true,
“suppress_redis_signal_reload”: false,
“use_redis_log”: true,
“close_connections”: true,
“enable_non_transactional_rate_limiter”: true,
“enable_sentinel_rate_limiter”: false,
“experimental_process_org_off_thread”: true,
“local_session_cache”: {
“disable_cached_session_state”: false
},
“http_server_options”: {
“enable_websockets”: true
},
“uptime_tests”: {
“disable”: false,
“config”: {
“enable_uptime_analytics”: true,
“failure_trigger_sample_size”: 2,
“time_wait”: 10,
“checker_pool_size”: 50
}
},
“hostname”: “”,
“enable_custom_domains”: true,
“enable_jsvm”: true,
“oauth_redirect_uri_separator”: “;”,
“coprocess_options”: {
“enable_coprocess”: false,
“coprocess_grpc_server”: “”
},
“pid_file_location”: “./tyk-gateway.pid”,
“allow_insecure_configs”: true,
“public_key_path”: “”,
“close_idle_connections”: false,
“allow_remote_config”: false,
“enable_bundle_downloader”: true,
“bundle_base_url”: “”,
“global_session_lifetime”: 100,
“force_global_session_lifetime”: false,
“max_idle_connections_per_host”: 100
}

And here is my pump.conf:

{
“analytics_storage_type”: “redis”,
“analytics_storage_config”: {
“type”: “redis”,
“host”: “localhost”,
“port”: 6379,
“hosts”: null,
“username”: “”,
“password”: “”,
“database”: 0,
“optimisation_max_idle”: 100,
“optimisation_max_active”: 0,
“enable_cluster”: false
},
“purge_delay”: 10,
“pumps”: {
“mongo”: {
“name”: “mongo”,
“meta”: {
“collection_name”: “tyk_analytics”,
“mongo_url”: “mongodb://localhost/tyk_analytics”
}
}
},
“uptime_pump_config”: {
“collection_name”: “tyk_uptime_analytics”,
“mongo_url”: “mongodb://localhost/tyk_analytics”
},
“dont_purge_uptime_data”: false
}

You might want to increase this value to 500 or so

Your pumps section should look like this:

"pumps": {
        "mongo": {
            "name": "mongo",
            "meta": {
                "collection_name": "tyk_analytics",
                "mongo_url": "MONGO_URL"
            }
        },
        "mongo-pump-aggregate": {
            "name": "mongo-pump-aggregate",
            "meta": {
                "mongo_url": "MONGO_URL",
                "use_mixed_collection": true
            }
        }
    },
    "uptime_pump_config": {
        "collection_name": "tyk_uptime_analytics",
        "mongo_url": "MONGO_URL"
    },

Looks like you are missing one of the pumps that generates the aggregate logs which are required in newer versions (they are faster aggregate records to optimise dash speed).

Have you upgraded your installation? If so, you may also need to amend your tyk_analytics.conf to include:

    "enable_aggregate_lookups": true,
    "aggregate_lookup_cutoff": "01/07/2016",

Thanks, Martin. Setting optimisation_max_active to 500 and adding the missing pump fixed this issue.

1 Like