<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog - Barbara Nelson</title>
    <description>Posts by Barbara Nelson on the InfluxData Blog</description>
    <link>https://www.influxdata.com/blog/author/barbara-nelson/</link>
    <language>en-us</language>
    <lastBuildDate>Tue, 24 Jan 2023 07:00:00 +0000</lastBuildDate>
    <pubDate>Tue, 24 Jan 2023 07:00:00 +0000</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>Update: Linux Package Signing Key Rotation</title>
      <description>&lt;p&gt;&lt;strong&gt;UPDATE 2023-01-26:&lt;/strong&gt; As of 2023-01-26, InfluxData’s Linux packaging signing key has been rotated. Users should update their configuration to use the new key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Original 2023-01-24:&lt;/strong&gt;
On January 4th, CircleCI issued an &lt;a href="https://circleci.com/blog/january-4-2023-security-alert/"&gt;alert&lt;/a&gt; recommending that all CircleCI users rotate their secrets. InfluxData is a customer of CircleCI, and so, out of an abundance of caution, we are proactively rotating all secrets stored in CircleCI.&lt;/p&gt;

&lt;p&gt;InfluxData uses CircleCI for various products and the Linux packaging signing key with fingerprint &lt;code class="language-bash"&gt;05CE 1508 5FC0 9D18 E99E FB22 684A 14CF 2582 E0C5&lt;/code&gt; was stored in CircleCI during the time of the exposure. InfluxData will be rotating this signing key and as a result, Linux DEB and RPM users must configure their systems to use the new key.&lt;/p&gt;

&lt;p&gt;Official InfluxData repositories have &lt;strong&gt;not&lt;/strong&gt; been compromised, and InfluxData has verified that the software signed by this key and retrievable via official repositories has not been modified. Furthermore, while a hypothetical attacker could use this key to sign binaries that look like they come from InfluxData, the attacker does not have access to the official repositories to deliver them to your hosts.&lt;/p&gt;

&lt;p&gt;We are rotating the key signing keys in two phases:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
  On 2023-01-26 we will start using the new Linux package signing key with fingerprint &lt;br /&gt;
&lt;code class="language-bash"&gt;9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E&lt;/code&gt;
  &lt;/li&gt;
  &lt;li&gt;
  On 2023-04-27 we will revoke the the old Linux package signing key with fingerprint 
&lt;br /&gt;&lt;code class="language-bash"&gt;05CE 1508 5FC0 9D18 E99E FB22 684A 14CF 2582 E0C5&lt;/code&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the new key is rolled out to official InfluxData repositories, DEB and RPM-based Linux systems will no longer be able to download and/or verify software coming from InfluxData repositories until the following configuration changes are made. InfluxData will provide an update to this post indicating when the new key is in place.&lt;/p&gt;

&lt;h3 id="configuring-linux-hosts-to-use-the-new-signing-key"&gt;Configuring Linux hosts to use the new signing key&lt;/h3&gt;

&lt;p&gt;The fingerprint for the new key is &lt;code class="language-bash"&gt;9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E&lt;/code&gt;.&lt;/p&gt;

&lt;h4 id="deb-based-systems"&gt;DEB-based systems&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;  Obtain and verify the new key:

&lt;pre&gt;&lt;code class="language-bash"&gt;$ wget -q https://repos.influxdata.com/influxdata-archive_compat.key
$ gpg --with-fingerprint --show-keys ./influxdata-archive_compat.key
pub   rsa4096 2023-01-18 [SC] [expires: 2026-01-17]
  	9D53 9D90 D332 8DC7 D6C8  D3B9 D8FF 8E1F 7DF8 B07E
uid                  	InfluxData Package Signing Key &amp;lt;support@influxdata.com&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;  Install the new key:

&lt;pre&gt;&lt;code class="language-bash"&gt;$ cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg &amp;gt; /dev/null&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt; Update your APT sources to use the new key:

&lt;pre&gt;&lt;code class="language-bash"&gt;$ echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Cleanup the old key:

&lt;pre&gt;&lt;code class="language-bash"&gt;$ sudo rm -f /etc/apt/trusted.gpg.d/influxdb.gpg&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Confirm that &lt;code class="language-bash"&gt;sudo apt-get update&lt;/code&gt; returns no errors for https://repos.influxdata.com&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The above specifies paths to files and configuration from the most recent documentation. Users who use a different file than &lt;code class="language-bash"&gt;/etc/apt/sources.list.d/influxdata.list&lt;/code&gt; need to update the file to use &lt;code class="language-bash"&gt;signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg&lt;/code&gt;. Similarly, users who installed the old key in a different location than &lt;code class="language-bash"&gt;/etc/apt/trusted.gpg.d/influxdb.gpg&lt;/code&gt; need to use that location to remove the old key.&lt;/p&gt;

&lt;h4 id="rpm-based-systems"&gt;RPM-based systems&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt; Update your YUM repos configuration to use the new key:

  &lt;pre&gt;&lt;code class="language-bash"&gt;$ cat &amp;lt;&amp;lt;EOF | sudo tee /etc/yum.repos.d/influxdata.repo
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;The next YUM operation that pulls from the repo will update the key:

  &lt;pre&gt;&lt;code class="language-bash"&gt;$ sudo yum update &amp;amp;&amp;amp; sudo yum install telegraf
Importing GPG key 0x7DF8B07E:
 Userid     : "InfluxData Package Signing Key &amp;lt;support@influxdata.com&amp;gt;"
 Fingerprint: 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E
 From       : https://repos.influxdata.com/influxdata-archive_compat.key
Is this ok [y/N]: y&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;

&lt;li&gt;Clean up the old key:

  &lt;pre&gt;&lt;code class="language-bash"&gt;$ sudo rpm --erase gpg-pubkey-2582e0c5-56099b04&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;  
&lt;/ol&gt;

&lt;p&gt;The above specifies the configuration path from the most recent documentation. Users who use a different file than &lt;code class="language-bash"&gt;/etc/yum.repos.d/influxdata.repo&lt;/code&gt; need to update the file to use &lt;code class="language-bash"&gt;gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id="frequently-asked-questions"&gt;Frequently asked questions&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Has customer data been compromised?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After a careful investigation, we have no evidence that InfluxData customer data has been compromised as a result of the CircleCI incident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Was InfluxData source code or binaries modified?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After a careful investigation, we have not found any evidence of unauthorized modification of InfluxData source code or binaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between influxdata-archive.key and influxdata-archive_compat.key?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code class="language-bash"&gt;influxdata-archive.key&lt;/code&gt; signing key utilizes a modern primary/subkey approach that will be incorporated into future Linux packaging updates. The &lt;code class="language-bash"&gt;influxdata-archive_compat.key&lt;/code&gt; can verify packages signed with the &lt;code class="language-bash"&gt;influxdata-archive.key&lt;/code&gt; and has the widest APT and RPM compatibility. Please use the &lt;code class="language-bash"&gt;influxdata-archive_compat.key&lt;/code&gt; at this time.&lt;/p&gt;
</description>
      <pubDate>Tue, 24 Jan 2023 07:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/linux-package-signing-key-rotation/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/linux-package-signing-key-rotation/</guid>
      <category>Use Cases</category>
      <category>Company</category>
      <author>Barbara Nelson (InfluxData)</author>
    </item>
    <item>
      <title>Catering to the Bespoke: How InfluxDB Meets Developers Where They Are</title>
      <description>&lt;p&gt;At InfluxData, we pride ourselves on building a platform – InfluxDB – for developers, by developers. It’s not enough to simply “talk the talk.” As an engineering leader, it’s really important to me that InfluxData “walks the walk,” too. This requires a holistic understanding of our users, their familiarity with time series, the environments in which they work, and the problems they’re trying to solve. Only by examining each of these elements can we provide the variety and scope of tools that enable developers to innovate and build cool things quickly.&lt;/p&gt;

&lt;p&gt;The following is a look behind the curtain into how and why we work to serve the needs of developers.&lt;/p&gt;

&lt;h2 id="meeting-developers-where-they-are"&gt;Meeting developers where they are&lt;/h2&gt;

&lt;p&gt;Oftentimes, platform builders need to decide early on what kind of “shop” they are and develop tooling around a particular programming language. On one hand, this makes complete sense. If users rely on JavaScript, for example, and you optimized your platform to process JavaScript code, then that (hopefully!) makes applications more efficient. But what about developers that don’t know or want to use JavaScript? They’re basically shut out of using this fictitious platform.&lt;/p&gt;

&lt;p&gt;When we talk about “meeting developers where they are,” this is the kind of situation we’re trying to avoid. And where a developer “is” varies depending on where they are in their time series data journey.&lt;/p&gt;

&lt;p&gt;I’d like to lay out some of our ideas about meeting developers where they are by looking at what tools and resources we currently have to achieve this goal, and how we go about building new solutions to meet the needs of our user base.&lt;/p&gt;

&lt;h2 id="getting-started-with-time-series-data"&gt;Getting started with time series data&lt;/h2&gt;

&lt;p&gt;The first thing we need to understand is someone’s level of comfort with time series data and time series workloads. The characteristics of these differ in some key ways from the world of &lt;a href="https://www.influxdata.com/blog/relational-databases-vs-time-series-databases"&gt;relational databases&lt;/a&gt;, for example. (We don’t need to get into all the details, but if you’re interested, we offer &lt;a href="https://www.influxdata.com/training/what-is-time-series/"&gt;a training course&lt;/a&gt; on the basics of time series data.)&lt;/p&gt;

&lt;p&gt;We recognize that today, we’re in a very rich environment where there is tooling and packaging to do all sorts of things. And most developers, when they go to solve a problem, the first thing they do is go to the web and look for solutions that already exist. But putting those pieces together isn’t always as straightforward as you may suspect.&lt;/p&gt;

&lt;p&gt;In practice, each of those pieces comes with its own particular nuances. Because it’s rare for developers to build something completely from scratch these days, that means there is often a certain amount of retrofitting that is necessary. Developers must consider the trade-offs presented by different pieces, and sometimes they need to choose between selecting a package that would require them to change the rest of their application or to go without it.&lt;/p&gt;

&lt;p&gt;That means part of our job is to help developers “glue” things together easily and efficiently. We are very thoughtful about the fact that we have many developers with many different applications that all need to use time series data in some way, shape, or form. With so many bespoke apps and development tools on the market, it’s vital for InfluxDB to give developers a customized experience tailored to their individual preferences.&lt;/p&gt;

&lt;p&gt;If a developer is building an application that presents data to end-users, like climate data from a home thermostat, we may recommend a specific set of tools or best practices that differ from a developer building an application that collects data behind the scenes and analyzes that data to make decisions or trigger actions.&lt;/p&gt;

&lt;h2 id="speaking-their-language"&gt;Speaking their language&lt;/h2&gt;

&lt;p&gt;One of the first considerations we think about is what language(s) our developers know. Just like navigating a foreign country is easier if you know the local language, being able to develop in a language you’re comfortable with can make the app development process faster and easier.&lt;/p&gt;

&lt;p&gt;This is why we provide &lt;a href="https://www.influxdata.com/products/data-collection/influxdb-client-libraries/"&gt;client libraries&lt;/a&gt; in over a dozen languages, such as &lt;a href="https://www.influxdata.com/blog/tldr-python-client-library/"&gt;Python&lt;/a&gt;, &lt;a href="https://youtu.be/VxQVda-ilIo"&gt;JavaScript&lt;/a&gt;, Go, Ruby, C#, R, and more. Developers don’t need to learn a completely new language to use InfluxDB, which lowers the barrier to entry.&lt;/p&gt;

&lt;p&gt;Getting data into a database is often the most challenging aspect of working with databases. That’s why we offer half-a-dozen different approaches for &lt;a href="https://www.influxdata.com/products/data-collection"&gt;data collection&lt;/a&gt;, from &lt;a href="https://www.influxdata.com/time-series-platform/telegraf/"&gt;Telegraf&lt;/a&gt;, which has 300+ plugins and can collect data from virtually any source, to the aforementioned client libraries, to &lt;a href="https://www.influxdata.com/products/data-collection/scrapers/"&gt;scrapers&lt;/a&gt;, and &lt;a href="https://www.influxdata.com/products/data-collection/ecosystem/"&gt;third-party ecosystem integrations&lt;/a&gt;. And, if none of those suit your fancy, you can always use our REST API and build your own.&lt;/p&gt;

&lt;p&gt;We also consider where a developer is in their app-building journey and their comfort level with time series data. The idea is for us to fit in their world as opposed to forcing them into ours. What environment are they comfortable working in? What is their skill set? These are all things we think about in our mission to meet developers where they are.&lt;/p&gt;

&lt;p&gt;Another major consideration is where the developer wants their data. Do they want to take care of managing time series metrics and databases themselves, and if so, do they have the security requirements necessary in their own environment? If not, perhaps they’d prefer we help manage it in a cloud environment, but which cloud? AWS, Google or Azure? We offer InfluxDB across all three of these major providers, and in multiple regions. As a result, InfluxDB Cloud frees up developers from managing infrastructure and allows them to focus on what they do best: building cool stuff.&lt;/p&gt;

&lt;div style="padding:56.25% 0 0 0;position:relative; margin: 30px 0px;"&gt;&lt;iframe src="https://player.vimeo.com/video/766959417?h=baa05771da&amp;amp;badge=0&amp;amp;autopause=0&amp;amp;player_id=0&amp;amp;app_id=58479/embed" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" frameborder="0" style="position:absolute;top:0;left:0;width:100%;height:100%;"&gt;&lt;/iframe&gt;&lt;/div&gt;

&lt;h2 id="how-we-continue-to-improve"&gt;How we continue to improve&lt;/h2&gt;

&lt;p&gt;Anyone in the development space knows that the industry constantly evolves alongside the needs and preferences of developers. That means the tools they use must evolve as well, and for us, it starts with getting direct feedback from users on how they’d like to use InfluxDB.&lt;/p&gt;

&lt;p&gt;In this vein, the developer advocates on our developer relations (DevRel) team act as the first-stage filter for reporting user needs back to the larger engineering team. Our DevRels collect user feedback and spot trends and patterns. We’re not promising to solve every problem that a developer mentions to us. But we’re always listening and learning about what we can do to reduce the friction developers may face using time series data at the core of their applications.&lt;/p&gt;

&lt;p&gt;There can be a bit of trial-and-error involved in continually improving the product as well. We use tools such as blog posts and community forums to test the waters with various features and capabilities and see what sticks. If momentum builds around a specific idea, we’re able to go back to the drawing board and see if it’s something we can build and implement.&lt;/p&gt;

&lt;p&gt;Ultimately, leveraging open source allows us to interact with a much broader set of developers and to help them build applications for a wider set of use cases. It could be a college student who’s playing around with and learning about time series data, a startup CTO who’s doing something really innovative, or an existing enterprise that has a ton of time series data and needs a better way to manage it.&lt;/p&gt;

&lt;p&gt;Creating a platform that meets developers where they are enables us to put developers first and provide them with the tools and resources necessary to progress along their time series journey rapidly, achieving that &lt;a href="https://youtu.be/FgJU_3zsdEY"&gt;Time to Awesome&lt;/a&gt; we always like to talk about, and driving innovation.&lt;/p&gt;
</description>
      <pubDate>Tue, 06 Dec 2022 07:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/how-influxdb-meets-developers-where-they-are/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/how-influxdb-meets-developers-where-they-are/</guid>
      <category>Product</category>
      <category>Use Cases</category>
      <author>Barbara Nelson (InfluxData)</author>
    </item>
    <item>
      <title>Notebook Sharing</title>
      <description>&lt;p&gt;It’s that season of sharing, and in the spirit of sharing, we have a new feature to share with you – notebook sharing. Now you can take your favorite InfluxDB notebooks and share them with whoever you would like. They don’t need to have an InfluxDB Cloud account. They just click on the link you share with them, and they can see the notebook that you shared, for the time range that you selected. Check it out by &lt;a href="https://us-west-2-1.aws.cloud2.influxdata.com/share/rxEg_o8IJZfH6OJGOed8V"&gt;clicking on this link&lt;/a&gt; to see a really cool IFTTT integration that one of our developers, Gene Hynson, built to monitor sound and motion detected from his Wyze camera.&lt;/p&gt;

&lt;p&gt;You can learn more &lt;a href="https://www.influxdata.com/blog/monitoring-smart-home-influxdb-ifttt/"&gt;here&lt;/a&gt; about how he is monitoring his home.&lt;/p&gt;

&lt;p&gt;If you’re not familiar with notebooks, they are a recently added feature in the InfluxDB UI to make it easy to build a Flux query, validate the query results, add some visualization, add explanatory notes, and then incorporate your query into a task, your client application, or wherever else you would like to use it. To learn more about notebooks, &lt;a href="https://docs.influxdata.com/influxdb/cloud/notebooks/"&gt;check out the documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Another cool feature in notebooks is that you can display them in presentation mode. So, you can have a notebook with all sorts of query panels, visualizations, and other commentary, and then flip the presentation mode switch, and we just display the visualizations, the commentary, and we hide the rest of the notebook. Looks like a dashboard, but built into the notebook. Flip the presentation mode switch back, and you can see all your notebook panels again.&lt;/p&gt;

&lt;p&gt;So, now that I have built a cool notebook, how do I share it? It’s very straightforward. Login to your InfluxDB Cloud account, and open the notebook that you want to share. If you haven’t saved it already, hit ‘save notebook’. In the upper right corner, there is a new option, circled in red in the screenshot below, to share the notebook.&lt;/p&gt;

&lt;p&gt;&lt;img class="aligncenter wp-image-260814" src="/images/legacy-uploads/Save-notebook.png" alt="Save notebook" width="1200" height="608" /&gt;&lt;/p&gt;

&lt;p&gt;When you click on the share option, you will need to select a token with read-access to the resources you are referencing in your notebook. That will be used to authenticate access when the shared notebook is displayed.&lt;/p&gt;

&lt;p&gt;&lt;img class="aligncenter wp-image-260816" src="/images/legacy-uploads/select-a-token-with-read-access.png" alt="select a token with read-access" width="1200" height="557" /&gt;
Once you have selected the token, we generate a URL that you can use to share the notebook with whoever you would like.&lt;/p&gt;

&lt;p&gt;&lt;img class="aligncenter wp-image-260813" src="/images/legacy-uploads/generate-a-URL-to-share-the-notebook.png" alt="generate a URL to share the notebook" width="1200" height="580" /&gt;&lt;/p&gt;

&lt;p&gt;Just copy the URL, paste it into your browser so you can see the final result, and then share it to your heart’s content. If you want to stop sharing, just select the ‘delete’ option next to the URL, and that will delete the share link, or deactivate the token you used to generate the URL. After that, anyone who tries to use the link will get an error message.&lt;/p&gt;

&lt;p&gt;If you don’t want to share the query, and just want to share the visualization, just flip the notebook into presentation mode, and then generate the share link.  Now the shared notebook looks like this – no queries, just a pretty graph.&lt;/p&gt;

&lt;p&gt;&lt;img class="aligncenter wp-image-260815" src="/images/legacy-uploads/presentation-mode.png" alt="Notebook - presentation mode" width="1200" height="386" /&gt;&lt;/p&gt;

&lt;p&gt;Give it a try, and you can also send the share link my way (email me at bnelson@influxdata.com), as I’d love to check out your notebooks. We are always looking for interesting uses of time series data.&lt;/p&gt;

&lt;p&gt;Here are a few common questions about notebook sharing.&lt;/p&gt;
&lt;h3&gt;How much does it cost?&lt;/h3&gt;
&lt;p&gt;It depends on your account. If you have a free account, there is no cost, as long as the total usage stays within the &lt;a href="https://docs.influxdata.com/influxdb/cloud/account-management/pricing-plans/#free-plan"&gt;rate limits of your free account&lt;/a&gt;. After that, the queries will be rate-limited, just as if you had been looking at the notebook yourself. If you are on a pay as you go (&lt;a href="https://docs.influxdata.com/influxdb/cloud/account-management/pricing-plans/#usage-based-plan"&gt;PAYG&lt;/a&gt;) or an annual account, you’ll be charged for the queries, each time the shared notebook is rendered, in exactly the same way as if you had hit ‘run’ in the notebook.&lt;/p&gt;
&lt;h3&gt;How do I stop getting charged for a shared notebook?&lt;/h3&gt;
&lt;p&gt;If you want to limit access to the shared notebook (maybe that shared notebook link is getting a lot more popular than you had imagined), you can just delete the share link from the notebook, or deactivate the token associated with the share link, and anyone who clicks on it will get an error page.&lt;/p&gt;
&lt;h3&gt;Can someone use my token to access other data in my account?&lt;/h3&gt;
&lt;p&gt;No. When you generate the share notebook URL, you are asked to associate a specific token which is then associated with the share URL. In theory, any token in your account with the appropriate bucket access permissions can be used. However, in practice we recommend creating a specific token to use with the share URL – so that you can retire this token if and when you are done sharing. The token is not included in the URL. Instead, behind the scenes we create an access key. When anyone clicks on the link, we match up the access key to your token, and if it is still valid, we run the queries and display the notebook.&lt;/p&gt;
&lt;h3&gt;What if I modify my notebook after sharing it?&lt;/h3&gt;
&lt;p&gt;Any changes made to your notebook will be immediately available through your share link. This keeps the share link completely up to date with your notebook so you don’t need to worry about people looking at an out-of-date notebook. One thing to be aware of is that if you switch the notebook to presentation mode, and generate the share link, and then switch back, the share link switches back too, and will display in non-presentation mode. The presentation mode is part of the notebook, and the share link keeps in sync with that too.&lt;/p&gt;
&lt;h3&gt;Can I have more than one share URL for the same notebook?&lt;/h3&gt;
&lt;p&gt;Not at this time. Let us know why you might want that, and we can see about adding it in the future.&lt;/p&gt;
&lt;h3&gt;Can my colleague and I generate different share URLs for the same notebook?&lt;/h3&gt;
&lt;p&gt;Not at this time. Once the share URL is generated by one user, other users in that organization can see and share the URL, but they can’t generate another URL until the first URL is deleted.  Let us know if you have a use case where different users within the same organization might want to have different share URLs.&lt;/p&gt;
&lt;h3&gt;Can someone who has the share link change or delete my notebook?&lt;/h3&gt;
&lt;p&gt;No, the link only gives them read-access to the shared notebook, for the time range you selected. They can’t make any changes to the notebook, or modify the time range. They can only see the data you have chosen to show them.&lt;/p&gt;
&lt;h3&gt;Does my shared notebook always show up-to-date data?&lt;/h3&gt;
&lt;p&gt;It’s up to you in how you set up the notebook. If the time range in the notebook is relative (e.g. last 6 hours), they’ll see the last 6 hours of data whenever they click on the shared notebook URL. If they click on it tomorrow, they’ll see tomorrow’s data. If the time range is fixed (e.g. October 1, 2021 to October 23, 2021) they will see the same data, for the same time range, no matter when they click on the URL. So, you get to control what data they see – a fixed time period or a relative time range.&lt;/p&gt;
&lt;h3&gt;If I delete or inactivate the token I used to generate the share URL, will the share URL still work?&lt;/h3&gt;
&lt;p&gt;No, the share URL only works while the token is valid. If you delete or inactivate the token, you will need to select a new token and re-generate the share URL.&lt;/p&gt;
&lt;h3&gt;Will the URL still work if I delete the notebook?&lt;/h3&gt;
&lt;p&gt;No, the URL is associated with the notebook, and if the notebook is gone, there is nothing to show.&lt;/p&gt;
&lt;h3&gt;What about dashboard sharing?&lt;/h3&gt;
&lt;p&gt;We started with notebook sharing, and we would love your feedback on how well it works for you. You can use presentation mode in your shared notebook to focus on the visualization of your data. We know it’s not exactly the same as dashboard sharing, but it’s a starting point.&lt;/p&gt;
</description>
      <pubDate>Thu, 18 Nov 2021 04:00:41 -0700</pubDate>
      <link>https://www.influxdata.com/blog/notebook-sharing/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/notebook-sharing/</guid>
      <category>Use Cases</category>
      <category>Product</category>
      <category>Developer</category>
      <author>Barbara Nelson (InfluxData)</author>
    </item>
    <item>
      <title>Plant Buddy Part 4: Using the UI</title>
      <description>&lt;p&gt;My colleague, Rick Spencer, has been working on an interesting IoT project, Plant Buddy. This project entailed soldering some sensors to an Arduino, and teaching that device how to communicate directly with InfluxDB Cloud so that he could monitor his plants. Then he developed an app that allows users to visualize and create alerts from their uploaded Plant Buddy device data in a custom user experience.&lt;/p&gt;

&lt;p&gt;To understand more about Rick’s project, you can check out &lt;a href="https://www.influxdata.com/blog/prototyping-iot-with-influxdb-cloud-2-0/"&gt;Part 1&lt;/a&gt;, where he designed the basics of the device and taught it to communicate and add some notifications; &lt;a href="https://www.influxdata.com/blog/iot-prototyping-with-influxdb-cloud-2-0-part-2-queries-tasks-and-dashboards/"&gt;Part 2&lt;/a&gt;, where he added downsampling and a dashboard; and &lt;a href="https://www.influxdata.com/blog/building-an-iot-app-with-influxdb-cloud-python-and-flask-part-3/"&gt;Part 3&lt;/a&gt;, where he built an app for plantbuddy.com.&lt;/p&gt;

&lt;p&gt;When I was reading Rick’s blog, I was impressed with how powerful our CLI is, making it easy for Rick to create a bucket, generate a token, write data, query the data, and set up checks and notifications. For someone who is familiar with working at the command line, it’s pretty intuitive. But as the head of the UI team, I wanted to see what the experience would be for someone who wanted to use the UI, not the CLI for the same functionality. So, below is a companion blog to Part 3, using the UI instead of the CLI for those of us who are more UI-centric.&lt;/p&gt;

&lt;p&gt;Many thanks to Rick Spencer for doing the work to build a very cool IoT application to manage his growing garden (and keeping an eye on my plants too).&lt;/p&gt;
&lt;h2&gt;Bootstrapping IoT application development for InfluxDB Cloud&lt;/h2&gt;
&lt;p&gt;Rick has already created an InfluxDB Cloud Account, so I asked him to invite me to his account so that we could work with the same data. Once I accepted the invitation, I was all set, and I was able to log into his account. As I need a different email address for each InfluxDB Cloud Account that I want to access, I am using &lt;a href="mailto:bnelson+plantbuddy@influxdata.com"&gt;bnelson+plantbuddy@influxdata.com&lt;/a&gt; for this example.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Organization-tab.png" alt="Organization tab" width="1000" height="537" /&gt;&lt;/p&gt;

&lt;p&gt;I will need a token to be able to write my data into this account. Rick already has a token, but I need one for my use as tokens are specific to each user. Rick has created a bucket, &lt;strong&gt;plantbuddy&lt;/strong&gt;, so I need a read/write token to be able to write my data to his bucket. Just like Rick did, I navigate in the UI to &lt;strong&gt;Data&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Tokens&lt;/strong&gt; to generate my token.&lt;/p&gt;

&lt;p&gt;I click &lt;strong&gt;Generate Token&lt;/strong&gt; and choose a &lt;strong&gt;Read-Write Token&lt;/strong&gt; for the &lt;strong&gt;plantbuddy&lt;/strong&gt; bucket, and provide it a name, &lt;strong&gt;plantbuddy read-write token&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Load-Data-tab.png" alt="Load Data" width="1000" height="469" /&gt;&lt;/p&gt;

&lt;h2&gt;Upload some Line Protocol&lt;/h2&gt;

&lt;p&gt;Now that I have access to the bucket, I can upload some data to it so that I can start testing right away. Rick gave me a Python script that I could use, so I set the &lt;code class="language-bash"&gt;user&lt;/code&gt; field to &lt;code class="language-bash"&gt;barbara&lt;/code&gt; and the &lt;code class="language-bash"&gt;device_id&lt;/code&gt; to &lt;code class="language-bash"&gt;02&lt;/code&gt;, so my metrics could be filtered from Rick’s metrics. I copied the read/write token that I had just generated to my client environment, and ran my Python script to generate and upload some test data.&lt;/p&gt;

&lt;p&gt;The line protocol format is &lt;a href="https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/"&gt;well-documented&lt;/a&gt;. Here is an excerpt of what my data looked like:&lt;/p&gt;
&lt;pre class="line-numbers"&gt;&lt;code class="language-bash"&gt;soil_moisture,user=barbara,device_id=02 reading=157i 1623622366752460032
humidity,user=barbara,device_id=02 reading=69i 1623622366752460032
soil_temp,user=barbara,device_id=02 reading=66i 1623622366752460032
light,user=barbara,device_id=02 reading=36i 1623622426752460032
soil_moisture,user=barbara,device_id=02 reading=153i 1623622426752460032
humidity,user=barbara,device_id=02 reading=68i 1623622426752460032
soil_temp,user=barbara,device_id=02 reading=67i 1623622426752460032&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I used the &lt;code class="language-bash"&gt;write&lt;/code&gt; endpoint to write my data from a Python script. I could have used the UI to upload my data, but given that I was using a Python script to generate the test data, it was just as easy to call the &lt;code class="language-bash"&gt;write&lt;/code&gt; endpoint directly, rather than writing my data to a file and then uploading the file via the UI.&lt;/p&gt;

&lt;p&gt;No error was reported, so it looks like it worked, so then I ran a query to make sure.&lt;/p&gt;

&lt;h2&gt;Run a query&lt;/h2&gt;

&lt;p&gt;The Data Explorer lets me easily confirm that my data is in the &lt;code class="language-bash"&gt;plantbuddy&lt;/code&gt; bucket.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Data-Explorer-tab.png" alt="Data Explorer" width="1000" height="656" /&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, I can use the metrics selector in the notebooks UI to see what metrics are in the bucket. I confirmed that my data is there, ready to be analyzed and acted-upon.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Barbaras-data-tab.png" alt="Barbara's data" width="1000" height="590" /&gt;&lt;/p&gt;

&lt;h2&gt;Downsampling&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/blog/downsampling-influxdb-v2-0/"&gt;Downsampling&lt;/a&gt; entails calculating lower-resolution data to display from the high-resolution data, and saving that off pre-computed for displaying or further calculations. Other than making for a snappier user experience, it can also save you storage costs, because you can keep your downsampled data in a bucket with a longer retention period than your raw data. Rick used the CLI to create a downsampling bucket, author his downsampling script, and create a task to run the script. I took an easier approach, and used the notebooks UI to create the task that will downsample my data. I selected my metrics, then added a ‘downsample’ panel to aggregate the data every 10 minutes, and configured an output panel to write the result to the downsampled bucket.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Barbaras-data-Querying-the-downsampled-bucket.png" alt="Querying the downsampled bucket" width="1000" height="643" /&gt;&lt;/p&gt;

&lt;p&gt;Querying the downsampled bucket, I can see all the data is there.&lt;/p&gt;

&lt;h3&gt;Create a downsampling task&lt;/h3&gt;

&lt;p&gt;Once I confirmed that the downsample was working correctly, I took my notebook, and registered it as a task to run every 15 minutes, by adding a &lt;code class="language-bash"&gt;schedule&lt;/code&gt; panel, and configuring it to run every 15 minutes. I also changed the range to only look back for the last 15 minutes, so that I don’t downsample data more than once.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Create-a-downsampling-task-tab.png" alt="Create a downsampling task" width="1000" height="569" /&gt;&lt;/p&gt;

&lt;p&gt;When I export as a task, I can see the generated Flux code:&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Export-as-task-tab.png" alt="Export as task tab" width="602" height="511" /&gt;&lt;/p&gt;

&lt;p&gt;And I can see that it ran successfully, along with some other useful information, such as what Flux was actually run.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Downsample-Barbaras-data-runs-tab.png" alt="Downsample Barbaras data - runs" width="1000" height="410" /&gt;&lt;/p&gt;

&lt;h2&gt;Notifications&lt;/h2&gt;

&lt;p&gt;The final feature that Rick added is the ability for plantbuddy.com to notify users if their soil gets too dry. With InfluxDB you can use tasks to create status checks and notification rules that will send a message to your application under whatever conditions you define. I decided to use the UI to set up my status checks and notification rules.&lt;/p&gt;

&lt;h3&gt;Threshold Check&lt;/h3&gt;

&lt;p&gt;I go to the Alerts option in the UI to set up my check. There are three parts to it:&lt;/p&gt;
&lt;ol&gt;
 	&lt;li&gt;Defining the check&lt;/li&gt;
 	&lt;li&gt;Configuring the notification endpoint&lt;/li&gt;
 	&lt;li&gt;Defining the notification rule&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To define the check, all I have to do is select the field that I want to check, and the frequency at which I want to check it.  I select my &lt;code class="language-bash"&gt;soil_moisture&lt;/code&gt; field.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Check-for-soil-moisture-tab.png" alt="Check for soil moisture" width="1000" height="621" /&gt;&lt;/p&gt;

&lt;p&gt;I configure the check to run every 10 minutes.  I set the status to CRIT if the &lt;code class="language-bash"&gt;soil_moisture&lt;/code&gt; value is below 35, and set the status to OK if the &lt;code class="language-bash"&gt;soil_moisture&lt;/code&gt; level is above 35.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/configure-the-check.png" alt="Configure the check" width="1000" height="658" /&gt;&lt;/p&gt;

&lt;p&gt;The second step is to set up a notification endpoint that can be notified when the plant needs watering. As Rick has already configured a HTTP endpoint, I’ll just use that one, so he can be reminded to water my plants. :-)&lt;/p&gt;

&lt;p&gt;I select HTTP as the endpoint, provide the URL and I’m all set.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Edit-Notification-Endpoint.png" alt="Edit a Notification Endpoint" width="602" height="549" /&gt;&lt;/p&gt;

&lt;p&gt;Now that I have a check and a notification endpoint, I can define my notification rule. I set the rule to check the status every 10 minutes, and notify Rick whenever my plant’s &lt;code class="language-bash"&gt;soil_moisture&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;level is critical.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/Create-a-Notification-Rule.png" alt="" width="602" height="471" /&gt;&lt;/p&gt;

&lt;p&gt;To test that everything is running, I write some test data with a low value for the &lt;code class="language-bash"&gt;soil_moisture&lt;/code&gt;, and I can see that the alerts fire.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/write-test-data-tab.png" alt="Write test data" width="1000" height="529" /&gt;&lt;/p&gt;

&lt;p&gt;Whenever the level was critical, a notification was sent to Rick’s HTTP endpoint.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/legacy-uploads/check-statuses-tab.png" alt="check statuses" width="1000" height="213" /&gt;&lt;/p&gt;

&lt;p&gt;I hope you found this blog useful to show you the power of the InfluxData platform. Whether you choose to use the UI, the CLI, the API or any combination thereof, you should be able to build your own application to gain intelligence and act on your time series data.&lt;/p&gt;
</description>
      <pubDate>Fri, 09 Jul 2021 02:00:27 -0700</pubDate>
      <link>https://www.influxdata.com/blog/plant-buddy-part-4-using-the-ui/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/plant-buddy-part-4-using-the-ui/</guid>
      <category>Use Cases</category>
      <category>Product</category>
      <category>Developer</category>
      <author>Barbara Nelson (InfluxData)</author>
    </item>
    <item>
      <title>Why I Joined InfluxData - Barbara Nelson</title>
      <description>&lt;p&gt;&lt;img class=" wp-image-239501 aligncenter" src="/images/legacy-uploads/barbara-nelson-influxdata.jpg" alt="Barbara Nelson InfluxData" width="339" height="509" /&gt;&lt;/p&gt;

&lt;p&gt;Hi! I am Barbara Nelson, and I joined the engineering team last month, as Head of Applications (I’m Rick Spencer’s peer on the apps side). If you look at my LinkedIn profile, you might wonder how I ended up at a time series DB company, given that for most of my career I’ve been in the Wi-Fi space (except for a brief stint in eCommerce).&lt;/p&gt;

&lt;p&gt;When I was growing up, one of my favorite fairy tales was Goldilocks and the Three Bears.  Goldilocks gets lost in the forest and stumbles across a home owned by three bears. She tries their porridge (one bowl is too hot, the second is too cold, and the third is just right). She gets tired and lies down on their beds (the first bed is too hard, the second is too soft, and the third is just right so she settles in for a nice nap). I won’t give you the rest of the story, or say too much about the appropriateness of Goldilocks’ behavior (breaking into someone’s home, eating their food and sleeping on their bed is probably not a good idea in this day and age), but as a child it appealed to me as a way to make decisions — consider the alternatives and choose the one that fits you the best.&lt;/p&gt;

&lt;p&gt;So how does this relate to InfluxData? I feel that I have found the company that is just right for me — not too big, not too small. InfluxData is just right. I’ve worked in very small companies where everyone knows everyone, and it’s easy to work together without too many processes or procedures. I’ve also worked in a very large company, where there are lots of processes in place to help you navigate the organization, figure out which teams are responsible for which products, and enable you to actually get things done. Lots of people love working in large companies, lots of people love working in very small companies, but for me, InfluxData is just right. We are growing fast (and hiring some great people), so relying on everyone knowing everyone else isn’t working as well as it used to.&lt;/p&gt;

&lt;p&gt;I’m excited to be joining the engineering team at a time that we get to figure out what adjustments to make to ensure that all the new additions are just as effective as the engineers who started here a long time ago. We are very fortunate that those earlier engineers are excited to support the new team members, so we can continue to deliver great products, leveraging the skills that the new folks bring, along with the experience of people who have been here for a while. I love working with teams to figure out how best to work together, so that as we continue to grow, the company will continue to be just right for everyone who is here.&lt;/p&gt;

&lt;p&gt;We use the phrase “time to awesome” at InfluxData to mean the time it takes a new customer to get an awesome experience with our products. My own “time to awesome” has been the time it has taken me to confirm my first impression that this is an awesome company. With the great welcome that I got from everyone here, my “time to awesome” has been pretty short.&lt;/p&gt;

&lt;p&gt;If it sounds like InfluxData could be just right for you, please check out the &lt;a href="https://w2.influxdata.com/careers/"&gt;Careers page&lt;/a&gt; and apply.&lt;/p&gt;
</description>
      <pubDate>Wed, 04 Dec 2019 07:00:55 -0700</pubDate>
      <link>https://www.influxdata.com/blog/why-i-joined-influxdata-barbara-nelson/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/why-i-joined-influxdata-barbara-nelson/</guid>
      <category>Company</category>
      <author>Barbara Nelson (InfluxData)</author>
    </item>
  </channel>
</rss>
