Closed slikk66 closed 3 years ago
I dont understand.. we dont have dynamo code here..
I'm using https://github.com/openzipkin/zipkin-aws with collector: https://github.com/openzipkin/zipkin-aws/tree/master/collector-kinesis and elasticsearch storage.. there's definitely a dynamo table being created..
root@05f6b3a3cce0:/data# curl http://zipkin.us-east-1.prod.mycompany.co.int:8080/health
{
"status" : "UP",
"zipkin" : {
"status" : "UP",
"details" : {
"zipkin2.collector.kinesis.KinesisCollector@ce561cc" : {
"status" : "UP"
},
"ElasticsearchStorage{initialEndpoints=aws://us-east-1/prod-main, index=zipkin}" : {
"status" : "UP"
}
}
}
root@05f6b3a3cce0:/data# aws dynamodb describe-table --table-name zipkin
{
"Table": {
"AttributeDefinitions": [
{
"AttributeName": "leaseKey",
"AttributeType": "S"
}
],
"TableName": "zipkin",
"KeySchema": [
{
"AttributeName": "leaseKey",
"KeyType": "HASH"
}
],
"TableStatus": "ACTIVE",
"CreationDateTime": 1587418518.871,
"ProvisionedThroughput": {
"NumberOfDecreasesToday": 0,
"ReadCapacityUnits": 10,
"WriteCapacityUnits": 10
},
"TableSizeBytes": 193,
"ItemCount": 1,
"TableArn": "arn:aws:dynamodb:us-east-1:123456789:table/zipkin",
"TableId": "aaaaaaaa-86e9-dddd-a561-39830dfffff"
}
}
I sure didn't create it!
Thanks for clarifying! I found this document that explains the behavior of the Kinesis client automatically creating a table for state tracking.
https://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-ddb.html
The name is the same as the application name, and I presume we can create a knob for it, will dig further later.
Great! ok thanks for looking into it.
The main parts I'm concerned with is being able to rename it more specifically for different environments (is there another variable I can change that will rename the service, and then the table?) and also to implement IOPS and scaling on my end. Ideal would be for me to setup my own table (called whatever I want) add scaling to it, and then update the zipkin install with the new table name and have it use it directly without trying to create its own table.
Is there another forum I should be posting this in?
Thanks for your help @anuraaga ! 👍
@slikk66 Not sure if you found the answer, but I was able to configure the application name by setting the KINESIS_APP_NAME
environment variable. And as mentioned by @anuraaga, the dynamo table name is same as the application name.
Hope that helps!
I'd like to create the table separately and apply autoscaling to it, I just launched zipkin-aws for first time and see it needs access to dynamodb:createTable on "zipkin" table.
I haven't been able to find much information about this.. I'd like to be able to create the table with a better name like
company-environment-zipkin
and then update the server to use that table.Is it possible to change the name of the table zipkin wants to use via an environment variable?
How about just any more information in general about this dynamo table and how I can modify/change it or its usage?
Thanks!